2017-01-28 1 views
0

я запуская работу с помощью следующей команды:Передача причиной строка удаленного запуска Дженкинс URL не работает

curl http://username:[email protected]:8080/job/Test/build?token=test123&cause=This+was+started+by+testuser 

Работа успешно запускается, но сообщение не отображается причина.

+0

Можете ли вы получить дополнительную информацию? Какую версию Jenkins вы используете? Где вы ищете сообщение о причине? Я спрашиваю, потому что я только что попробовал, и я получаю сообщение так: «Начинается удаленный хост 192.168.0.29 с примечанием: Эй, эй, эй» – kristian

+0

Я использую Jenkins 2.32.1. Я также хотел отобразить его после сообщения «Начать удаленный хост». Вы использовали команду curl без POST? –

ответ

0

Во-первых, похоже, что вы запускаете сборку с использованием GET (поскольку это опция по умолчанию, когда не передается какой-либо метод зависания). обычно предпочитают использовать POST для этих типов запросов. это, как я хотел бы сделать это:

curl -X POST --user "<USER>:<USER_TOKEN>" http://localhost:8080/job/<JOB_NAME>/build?token=mytoken&This+was+started+by+testuser 

Теперь я подозреваю, что параметр «причина» игнорируется, так как вы не установите «Trigger строит удаленно (например, из скриптов)» вариант в конфигурации сборки.

See this example where I've set it to "mytoken"

+0

Когда я использую вашу команду, я получаю следующее сообщение об ошибке: «Ошибка 403 В запрос не было включена ни одна крошка» –

+0

Возможно, это связано с тем, что вы используете Jenkins 2.0. Вам необходимо настроить защиту CSRF или отключить ее (менее рекомендуется): https://wiki.jenkins-ci.org/display/JENKINS/CSRF+Protection – eyalstoler

0

Я пытался инициировать работу с другой командой:

curl -X POST "http://user:[email protected]:8080/job/Test/build?token=test123&cause=This+is+started+by+testuser" 

Но, к сожалению, это дает мне сообщение об ошибке: «Ошибка 403 Не действует крошка не был включен в запрос»

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

curl -H POST "http://user:[email protected]:8080/job/Test/build?token=test123&cause=This+was+started+by+testuser" 

Я не знаю, почему он работает с «curl -H POST», а не с командой «curl -X POST». Есть идеи?