Как проверить отключенные задания на сервере 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
}
Другие вопросы по тегам