#c# #rest #gitlab #gitlab-api
# #c# #отдых #gitlab #gitlab-api
Вопрос:
Я нашел проблему и получил ее подробности с помощью:
ПОЛУЧИТЬ https://localhost/api/v4/projects/2779/issues/2
Я могу добавить new_comment к проблеме,:
Публикация https://localhost/api/v4/projects/2779/issues/2/notes?body=new_comment
как закрыть эту проблему сразу с добавлением комментария?
Я пытался закрыть только без комментариев с помощью:
ПОМЕСТИТЕ https://localhost/api/v4/projects/2779/issues/2?state_event=close"
, и это работает, но я должен использовать для запроса первого сообщения для комментариев, а затем ПОМЕСТИТЬ, чтобы закрыть его.
Комментарии:
1. Хороший улов. Я отредактировал ответ, чтобы добавить заметку (комментарий) к проблеме.
Ответ №1:
Вы можете добавить n/close
в конец своего комментария, чтобы закрыть проблему одним вызовом API при добавлении комментария.
POST https://localhost/api/v4/projects/2779/issues/2/notes?body=new_commentn/close
Это работает, потому /close
что это одно из быстрых действий.
Комментарии:
1. … и как добавить правопреемника? Я пробовал:
https://localhost/api/v4/projects/2779/issues/20?assignee_id=240
и это не работает. Я тоже не получил никакой ошибки
Ответ №2:
с добавлением комментария
В разделе «Автоматическое закрытие проблем» упоминается:
Если сообщение о фиксации или описание запроса на слияние содержит текст, соответствующий определенному шаблону, все проблемы, на которые ссылается соответствующий текст, закрываются.
Это происходит, когда фиксация переносится в ветку проекта по умолчанию или когда в нее объединяется запрос на фиксацию или слияние.Например, если
Closes #4, #6, Related to #5
включено в описание запроса на слияние, проблемы#4
и#6
автоматически закрываются при объединении MR, но нет#5
.
Таким образом, «комментарии» связаны с фиксациями или MR (запросы на слияние), а не с комментариями к самой проблеме.
API редактирования проблемы предлагает следующий вызов для закрытия проблемы:
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/4/issues/85?state_event=close"
Это должно быть очень похоже на то, что вы пробовали, за исключением того, что вам нужен PAT (личный токен доступа) с правильной областью действия (api).
Как выяснил OP, PUT вступает в силу только после публикации комментария к указанной проблеме: создать новую заметку о проблеме
POST /projects/:id/issues/:issue_iid/notes
Комментарии:
1. Хорошо, но, с другой стороны, я создаю проблему с заголовком, используя: POST
https://localhost/api/v4/projects/2779/issues?title=TestIssue
, и я хочу добавить описание к этой проблеме в том же сообщении. Если это невозможно, как я могу найти ID или IID этой новой проблемы. Я не могу найти его в POST response ps. Я знаю о заголовке частного токена.2. @simoNPL в docs.gitlab.com/ee/api/issues.html#new-issue , поле веб-url, по-видимому, является вновь созданным URL-адресом проблемы.