TL;DR: где я могу найти документацию о том, что нужно передать в POST-запрос, чтобы создать запрос на слияние? (Что вставить в JSON)
Используя сценарий Groovy, я пытаюсь автоматизировать некоторые задачи, включающие фиксацию/передачу ветки tmp в несколько проектов. Я хочу автоматически создать запрос на вытягивание между веткой tmp и веткой prod всех этих проектов в конце моего скрипта. Для этого я попытался использовать REST API BitBucket.
Я нашел эту документацию, которая дала мне следующую конечную точку для использования с запросом POST: /rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/pull-requests
. Для этой точки нужен следующий JSON:
{
"title": "Talking Nerdy",
"description": "It’s a kludge, but put the tuple from the database in the cache.",
"state": "OPEN",
"open": true,
"closed": false,
"fromRef": {
"id": "refs/heads/feature-ABC-123",
"repository": {
"slug": "my-repo",
"name": null,
"project": {
"key": "PRJ"
}
}
},
"toRef": {
"id": "refs/heads/master",
"repository": {
"slug": "my-repo",
"name": null,
"project": {
"key": "PRJ"
}
}
},
"locked": false,
"reviewers": [
{
"user": {
"name": "charlie"
}
}
]
}
Однако я не могу найти никакой информации о том, как создать этот JSON ... Я могу догадаться, что такое title
и description
, но для чего нужны state
, open
, closed
и т. д.? Как построить правильный fromRef.id
? Почему для имени репо установлено значение null
? какой атрибут не является обязательным? Если я поставлю свой логин BitBucket в reviewers[0].user.name
, будет ли он работать? и т.п.
Все ответы, которые я нашел на эту тему, - это просто копия / прошлый тот же JSON, и все, кажется, понимают, как это работает без каких-либо объяснений ... Я что-то пропустил?
В любом случае, вот мой настоящий вопрос: где я могу найти документацию по этому объекту JSON запроса на вытягивание?
Спасибо.
РЕДАКТИРОВАТЬ: это не дубликат этот пост, так как это не то же самое проблема. У меня нет проблем с разрешением/аутентификацией, и мне даже удалось заставить запрос работать, повозившись с ним. Я прошу документацию только потому, что хочу понять, что я делаю, чтобы наилучшим образом настроить запрос. Хотя в ответах другого поста есть некоторые (очень легкие) пояснения , на самом деле это вообще не отвечает на мой вопрос (см. комментарии).