Как запустить задание jenkins с помощью функции уведомлений Trac? - PullRequest
0 голосов
/ 22 мая 2018

Проблема в том, что у нас есть репозиторий, размещенный внешней стороной, что предотвращает зацепки из-за проблем безопасности, которые могут возникнуть при выполнении произвольных сценариев.Таким образом, скрипты для хука для меня не подходят.Быстрая электронная почта с нашим хостом показала, что Trac предлагает функцию уведомлений, которая предлагает команды HTTP POST и GET, которые можно использовать для запуска сборки Jenkins.Я не могу заставить его работать!Ниже я приложил свои усилия, пытаясь заставить его работать, но безрезультатно.У кого-нибудь есть подсказки, где я иду не так?

Уведомления можно установить в Trac в:, "Панель инструментов", "Уведомления", раздел "Веб-хуки".

Поляявляются:

Пользовательский обратный вызов GET (HTTP GET на URL по вашему выбору)

  • URL:
  • Имя пользователя: (необязательно)
  • Пароль: (необязательно)

Пользовательский обратный вызов POST (JSON или XML POST на URL-адрес по вашему выбору)

  • URL:
  • Имя пользователя: (необязательно)
  • Пароль: (необязательно)
  • Заголовок HTTP: (необязательно)

Я пыталсяследующее, но безрезультатно:

  • команда POST только с URL: JENKINS_URL / job / HANtune_2.1_MultiConfig / build? token = TOKEN_NAME
  • команда POST с указанным вышеURL и предоставление имени пользователя и пароля
  • GET команда только с вышеуказанным URL
  • GET команда с вышеупомянутым URL и предоставление имени пользователя и пароля
  • POST и GET command только с URL: http://USERNAME:AUTHENTICATION -TOKEN @ JENKINS-IP: PORT / job / JobName / build? token = TOKEN_NAME

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Мне нужно было установить плагин «Build Authorization Token Root», который можно скачать здесь: https://plugins.jenkins.io/build-token-root

Затем я настроил собственный обратный вызов GET в области уведомлений проекта Trac.настройки, например:

Теперь все работает!Спасибо, достойный!

0 голосов
/ 22 мая 2018

Подход build_token устарел, согласно этому сообщению (https://issues.jenkins -ci.org / browse / JENKINS-17764 ) см. Последний комментарий Дэниела Бека:

"Инициирование сборки на основе токенов - это устаревшая опция, которая устарела много лет назад (только документы не были обновлены) .... "

Я не использую TRAC, но триггерные сборки удаленно используютприведенный ниже код (необходимо указать значения userid / token / job / url) - может помочь?:

AUTH="<user_id>:<user_api_token>"
JOB_NAME="<job_name>"
TRIGGER_URL="http://<jenkins>:8080/job/$JOB_NAME/buildWithParameters?param1=value1&param2=value2"
curl -D - -X POST -u $AUTH $TRIGGER_URL 2>&1`
...