# #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) )```