У меня есть скрипт для удаленного запуска задания на Jenkins с использованием токена. Вот мой сценарий:
JENKINS_URL='http://jenkins.myserver.com/jenkins'
JOB_NAME='job/utilities/job/my_job'
JOB_TOKEN='my_token'
curl "${JENKINS_URL}/${JOB_NAME}/buildWithParameters?token=${JOB_TOKEN}"
После запуска я получаю следующий ответ:
* Hostname was NOT found in DNS cache
* Trying 10.5.187.225...
* Connected to jenkins.myserver.com (10.5.187.225) port 80 (#0)
> GET /jenkins/job/utilities/job/my_job/buildWithParameters?token=my_token HTTP/1.1
> User-Agent: curl/7.37.1
> Host: jenkins.myserver.com
> Accept: */*
>
< HTTP/1.1 201 Created
* Server nginx/1.6.2 is not blacklisted
< Server: nginx/1.6.2
< Date: Tue, 03 Feb 2015 23:40:47 GMT
< Content-Length: 0
< Location: http://jenkins.myserver.com/jenkins/queue/item/91/
< Connection: keep-alive
< Cache-Control: private
< Expires: Wed, 31 Dec 1969 16:00:00 PST
<
* Connection #0 to host jenkins.myserver.com left intact
Я заметил, что он возвращает URL-адрес очереди в заголовке: http://jenkins.myserver.com/jenkins/queue/item/91. Но я не знаю, как мне использовать этот обратный URL.
1) Мне интересно, знает ли кто-нибудь, как я могу проверить статус работы, которую я только что создал?
2) Поскольку ответ выше не возвращает задание #, я не могу использовать этот вызов API:
curl http://jenkins.myserver.com/jenkins/job/utilities/job/my_job/8/api/json
проверить статус. Так, где я могу получить название работы и номер работы после того, как я получу URL местоположения от вышеупомянутого ответа?
Спасибо