Согласно документации :
Отправка вакансий
Для работы без параметров вам нужно просто
HTTP GET on
JENKINS_URL/job/JOBNAME/build?token=TOKEN
, где TOKEN установлен в конфигурации задания.
Если у вас есть параметры, вам нужно отправить JSON. Вот отрезанный
shell, с несколькими дополнительными символами новой строки, чтобы быть более читабельным.
json="{\"parameter\": [{\"name\": \"taskfile\", \"value\":
\"$taskfile\"}, {\"name\": \"task\", \"value\": \"$task\"}, {\"name\":
\"jobParameters\", \"value\": \"$jobargs\"}], \"\": \"\"}"
url=http://hudson.basistech.net/job/benson-segmentation-training/build
curl -X POST $url -d token=zorn --data-urlencode json="$json"
Я не совсем уверен, действительно ли необходимо поле TOKEN
. Я смог начать сборку, используя простой способ получить работу // URL сборки:
curl -v http://localhost:8080/job/testjob/build
* About to connect() to localhost port 8080 (#0)
* Trying 127.0.0.1... connected
* Connected to localhost (127.0.0.1) port 8080 (#0)
> GET /job/testjob/build HTTP/1.1
> User-Agent: curl/7.21.3 (x86_64-pc-linux-gnu) libcurl/7.21.3 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
> Host: localhost:8080
> Accept: */*
>
< HTTP/1.1 302 Found
< Server: Winstone Servlet Engine v0.9.10
< Location: http://localhost:8080/job/testjob/
< Content-Length: 0
< Connection: Keep-Alive
< Date: Mon, 08 Aug 2011 20:48:37 GMT
< X-Powered-By: Servlet/2.5 (Winstone/0.9.10)
<
* Connection #0 to host localhost left intact
* Closing connection #0
Для хита git post-commit этого должно быть достаточно.
Redirect, wtf?
Причина, по которой вы сталкиваетесь с проблемой бесконечного перенаправления, заключается в том, что URL build/api/json
перенаправляет на конечную точку build/api
(я думаю, что обработчик для URL build
пытается перенаправить обратно на страницу состояния задания, выбрав от последней части URL). По какой-то странной причине build/api
перенаправляет обратно к себе. Я не думаю, что сборка поддерживает суффикс api/json
, но, как показано выше, он не нужен.