Создать проблему на bitbucket api

Я пытаюсь создать проблему с битбакетом с заголовком и содержимым, но это не удается с ошибкой:

{"type": "error", "error": {"fields": {"content": "expected a dictionary"}, "message": "Bad request"}}

Однако, если я не отправлю content, а только title, он сработает, и проблема будет создана.

Вот соответствующий код

$response = $this->getClient()->post(static::URL . "/repositories/{$repository}/issues", [
        "body" => [
            "title"     => "a title",
            "content"   => "the issue body
        ]
    ]);

Я проверил документы, но они не совсем точные

https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/issues

Любая идея?

Изменить:
Я обнаружил, что при использовании api v1.0 он работает, но только api 2.0 выдает это сообщение об ошибке.

поэтому
POST https://api.bitbucket.org/2.0/repositories/my-user/my-repo/issues
терпит неудачу, но

POST https://api.bitbucket.org/1.0/repositories/my-user/my-repo/issues

работает


person Jordi Puigdellívol    schedule 03.09.2017    source источник
comment
Что вы пытаетесь отправить в качестве содержания своей проблемы? у меня все работает нормально   -  person Vural    schedule 03.09.2017
comment
@VuralAcar Простая строка не соответствует содержанию = ›тело задачи   -  person Jordi Puigdellívol    schedule 03.09.2017
comment
Я обнаружил, что с api 1.0 работает, но с 2.0 нет   -  person Jordi Puigdellívol    schedule 03.09.2017
comment
@ JordiPuigdellívol Вы когда-нибудь решали эту проблему с помощью v2? Я застрял в этой же проблеме. Описание не работает, а содержимое выдает ту же ошибку, что и выше.   -  person Greg McMullen    schedule 02.10.2017
comment
Нет .. только что использовал v1   -  person Jordi Puigdellívol    schedule 02.10.2017
comment
@ JordiPuigdellívol Я решил, но для Android. Надеюсь, это поможет тебе.   -  person Sridhar    schedule 04.10.2017
comment
@GregMcMullen Я решил это. Надеюсь, это поможет тебе.   -  person Sridhar    schedule 04.10.2017


Ответы (1)


У меня появилось аналогичное сообщение об ошибке при создании проблемы с использованием Bitbucket API v2, но в android. Поработав некоторое время, я обнаружил, что это работает, если вы укажете content как объект с атрибутом raw.

В PHP это было бы,

$response = $this->getClient()->post(static::URL . "/repositories/{$repository}/issues", [
        "body" => [
            "title"     => "a title",
            "content"   => [
                "raw" => "the issue body"
            ]
        ]
    ]);

В почтальоне

{
    "title":"title of the issue",
    "content":{
        "raw":"this should be the description"
    }
}

тело как raw с Content-Type : application/json в заголовке.

Если вы используете Android (для которого я это искал), вам нужно опубликовать как json, используя JsonObjectRequest

JSONObject body = new JSONObject();
body.put("title", "title of the issue");

JSONObject content = new JSONObject();
content.put("raw", "this should be the description");

body.put("content", content);

JsonObjectRequest stringRequest = new JsonObjectRequest(<url>, body, <Response listener>, <Error Listener>);
person Sridhar    schedule 04.10.2017