Подтвердить что ты не робот

Удаленный триггер Jenkins не работает

Я получаю следующую ошибку, когда пытаюсь запустить сборку, используя следующую команду:

curl http://jenkins_server:port/jenkins/job/job_name/build?token=token_name

Вывод:

Требуется аутентификация

< - Вы авторизованы как: анонимный
Группы, в которых вы находитесь:

Разрешение, которое нужно иметь (но не было): hudson.model.Hudson.Read
... что подразумевается: hudson.security.Permission.GenericRead
... что подразумевается: hudson.model.Hudson.Administer
- >

У меня есть права администратора, а также включен "токен аутентификации". У меня также есть права на Build, Discover и Read на Job. Я использую Jenkins 1.614.

Я проверил несколько сообщений в Интернете, но не смог найти ничего, что сработает для меня.

Пробовал несколько вариантов, таких как
1) curl -X POST http://jenkins_server:port/jenkins/job/job_name/build?token=token_name
2) curl -u user: API (печатает длинную HTML-страницу)

Любые предложения.

4b9b3361

Ответ 1

Я устанавливаю Build Token Root Plugin для решения этой проблемы до

https://wiki.jenkins-ci.org/display/JENKINS/Build+Token+Root+Plugin

Затем, как же, установите токен аутентификации

Наконец, либо используйте curl для запуска удаленной сборки (будьте осторожны с символом escape)\

curl http://JENKINS_URL/buildByToken/build?job=JOB_NAME\&token=TOKEN_NAME

или вставьте URL-адрес в свой браузер (нет символа escape-функции "\" )

http://JENKINS_URL/buildByToken/build?job=JOB_NAME&token=TOKEN_NAME

Если вы видите "Успех", это означает, что триггер удаленных Дженкинс успешно.

Обратите внимание, что вам не нужно настраивать права на сборку, обнаружение и чтение на Job

Для получения дополнительной информации вы можете ссылаться на https://cloudbees.zendesk.com/hc/en-us/articles/204338790-Why-are-builds-not-being-triggered-with-Build-Token-Root-Plugin-

Ответ 2

Я думаю, что нет необходимости настраивать какой-либо плагин, чтобы он работал, просто сделайте это BATCH CMD:

curl -X POST http://USER_ID_JENKINS_RECEIVER:[email protected]_JENKINS_RECEIVER:PORT/job/NAME_OF_JOB/buildWithParameters?token=TOKEN_JOB_JENKINS_RECEIVER
  • Чтобы увидеть вас USER_ID_TOKEN, перейдите к своему имени пользователя в правом верхнем углу jenkins > перейдите в раздел Конфигурация > Нажмите на токен API, и он будет отображаться.

  • Вы должны настроить токен на JOB_OF_JENKINS_RECEIVER

Я должен сказать, что он отлично работает на Jenkins без каких-либо разрешений анонимным пользователям.

Ответ 3

У меня была такая же проблема после настройки тестового сервера Jenkins. Решение заключалось в аутентификации с использованием моего пароля администратора Jenkins:

curl -u admin:<mypassword> http://localhost:8080/job/Test/build?token=<mytoken>

Используйте те же имя пользователя и пароль, которые вы используете для входа в Jenkins. Не нужно было устанавливать дополнительные плагины.

Ответ 4

Я предлагаю вам попробовать Jenkins Python API. Он обеспечивает build_job действие, которое очень легко запускает задание.

build_job(name, parameters=None, token=None)
   Trigger build job.

   Parameters:  
   name – name of job
   parameters – parameters for job, or None, dict
   token – Jenkins API token

Ответ 5

Установить плагин Parameterized Build

https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Build

Если вы используете токен авторизации для запуска построений (Job → Configure → 'Build Triggers' → 'Trigger builds удаленно (например, из скриптов)'), вы можете получить доступ:

curl -X POST http://server/job/myjob/buildWithParameters?token=TOKEN&PARAMETER=Value

Ответ 6

В 1.625.3, давая анонимный доступ для чтения почти ко всему, что сработало для меня