Я пытаюсь настроить известный инструмент управления инцидентами для выполнения запроса POST по URL-адресу сборки задания Jenkins для ответа на некоторые предупреждения.
В этом инструменте по какой-то причине я не могу поставить конечную точку сборки задания Jenkins следующим образом:
https://<user>:<apiToken>@my-jenkins.com/blabla/job/blabla/build?token=<myTokenName>
Таким образом, единственная альтернатива, которую предоставляет инструмент, - это поместить данные авторизации в качестве заголовка .
Прежде чем сделать это, я пытаюсь проверить, сработает ли это, , используя curl
. По этой причине я вызываю URL-адрес Jenkins с базовым заголовком auth со следующей командой curl
:
curl -X POST -H 'Authorization:Basic <user:apiToken in base64>' -H 'Jenkins-Crumb:<my-crumb>' 'https://my-jenkins.com/blabla/job/blabla/build?token=<myTokenName>'
Но дает мне 401: Не авторизовано (Неверный пароль / токен для пользователя: my-user) . Если я помещу в URL те же учетные данные, что и в первом фрагменте кода, он будет работать.
Я прочитал следующие документы: https://wiki.jenkins.io/display/JENKINS/Authenticating+scripted+clients и кажется, что установка обычного заголовка auth довольно проста, но я думаю, что что-то здесь упущено, потому что это не работает для меня, когда я использую curl
.
Кроме того, я немного погуглил, и кажется, что все называют URL-адрес сборки задания Jenkins с user:apiToken
в URL, но, как я уже говорил, инструмент не позволяет размещать URL-адреса подобным образом.
Кто-нибудь выполнял запуск задания Jenkins с базовым заголовком авторизации?
Любая помощь будет оценена. Большое спасибо!