Запрос на слияние тела сообщения GitlabApi

# #curl #gitlab #gitlab-api

Вопрос:

Может быть, кто-нибудь сталкивался с подобной проблемой. Я пытаюсь ОПУБЛИКОВАТЬ комментарий к MergeRequest через GitLabAPI. Это кажется простым из документации:

curl --request POST --header "PRIVATE-TOKEN: xxx888" https://gitlab.example.com/api/v4/projects/11/merge_requests/1/notes?body=[link](https://example.com)"

Я действительно не могу заставить его работать, потому что мне запретили 403. Однако — если я помещу сообщение вручную через графический интерфейс в формате [link](https://example.com) — это работает нормально. Кто-нибудь сталкивался с подобной проблемой?

 lt;headgt;lt;titlegt;403 Forbiddenlt;/titlegt;lt;/headgt; lt;bodygt; lt;centergt;lt;h1gt;403 Forbiddenlt;/h1gt;lt;/centergt;  

Ответ №1:

Если у кого — то были подобные проблемы с этим-чтобы исправить это, нужно поместить данные тела не в качестве параметра, а в тело, поэтому:

curl --request POST --header "PRIVATE-TOKEN: xxx888" https://gitlab.example.com/api/v4/projects/11/merge_requests/1/notes --data '{"body"= "[link](https://example.com)"}'

и в Lambda, если кто-то использует AWS для его автоматизации:

 http = urllib3.PoolManager()   gitlab_merge_notify = http.request('POST', gitlab_merge_url,  headers={'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'Curl/0.1','Private-Token': api_key},  body=json.dumps(dataindict)  )```