Как проверить отключенные задания на сервере Jenkins?
Я использую Jenkins для запуска тестов на моих серверах.
Поэтому я создал задание для каждого сервера и запустил тест на задании, и я хотел бы узнать с помощью простого сценария bash, является ли мое конкретное задание отключенным / включенным?
Я могу SSH к серверу Jenkins, и я хочу запустить этот скрипт оттуда, как я могу это сделать?
4 ответа
Увидеть http://<Your Jenkins>/api
а также http://<Your Jenkins>/api/xml
:
<hudson>
...
<job>
<name>...your job name...</name>
...
<color>disabled</color>
</job>
...
Описание работы см. http://<Your Jenkins>/job/<Your job's name>/api
а также http://<Your Jenkins>/job/<Your job's name>/api/xml
,
Проверьте статус проекта из этой строки
curl http://$JENKINS_URL/job/$JOB_NAME/api/json | python -mjson.tool
Это сбросит данные о работе в формате JSON. затем grep для строки "buildable":
это даст вам представление о том, включен ли проект или нет.
"buildable": true, --> Project enabled
"buildable": false, --> Project Disabled
Тогда делай что хочешь.
Поместите URL-адрес вашего сервера jenkins в браузер и поместите /api/xml перед своим URL-адресом.
Пример:
https://xyz.jenkins.com/view/all/api/xml
Или
чтобы получить результат в json, просто поместите json вместо xml в вышеупомянутый URL
https://xyz.jenkins.com/view/all/api/json
Хотел добавить к имеющемуся ответу. Чтобы получить более точный результат, вы можете добавить фильтр xpath
http://<Your Jenkins>/job/<job name>/api/xml?xpath=//disabled
или же
http://<Your Jenkins>/job/<job name>/api/xml?xpath=//buildable
В ответ вы получите только одну строчку:
<disabled>true</disabled>
Фильтрация также работает с выводом json api:
http://<Your Jenkins>/job/<job name>/api/json?tree=disabled&pretty=true
Выход:
{
"_class" : "hudson.model.FreeStyleProject",
"disabled" : true
}