Есть ли простой способ/API узнать количество конвейеров на сервере gocd?

Извините за краткий вопрос, но просто интересно, есть ли API для определения количества конвейеров на сервере GoCD.


person trial999    schedule 26.01.2017    source источник


Ответы (5)


API Pipeline Groups даст вам то, что вам нужно после парсинга JSON.

$ curl 'https://ci.example.com/go/api/config/pipeline_groups' \
  -u 'username:password'

Возвращает:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
  {
    "pipelines": [
      {
        "stages": [
          {
            "name": "up42_stage"
          }
        ],
        "name": "up42",
        "materials": [
          {
            "description": "URL: https://github.com/gocd/gocd, Branch: master",
            "fingerprint": "2d05446cd52a998fe3afd840fc2c46b7c7e421051f0209c7f619c95bedc28b88",
            "type": "Git"
          }
        ],
        "label": "${COUNT}"
      }
    ],
    "name": "first"
  }
]
person James Bloomer    schedule 26.01.2017
comment
Кстати, у меня есть инструмент golang для получения статистики на основе файла конфигурации github.com/jamesbloomer/go- статистика - person James Bloomer; 26.01.2017

Вы можете взять файл config.xml и проанализировать его. из репозитория конфигурации или через http.

person Bill Birch    schedule 04.02.2017

В качестве альтернативы вы можете просто получить файл cctray со своего сервера по адресу http://yourgoserver/go/cctray.xml и проанализируйте его.

Содержит информацию обо всех пайплайнах (включая его этапы)

person thepirat000    schedule 09.04.2017

Я бы рекомендовал использовать yagocd:

from yagocd import Yagocd

go = Yagocd(server='https://build.gocd.io')

# login as guest
go._session.get('https://build.gocd.io/go/plugin/interact/gocd.guest.user.auth.plugin/index')

print(len(list(go.pipelines)))
person grundic    schedule 13.04.2017

Да, конечно. Получить желаемый результат можно разными способами. Первый простой способ получить количество конвейеров и другую статистическую информацию по URL-адресу службы поддержки GoCD (https://example.com/go/api/support), для которого требуются права администратора.

Если у пользователя нет прав администратора, нам нужно использовать GoCD pipeline_groups API. Приведенная ниже команда должна дать вам точный результат с jq(обработчиком JSON)

$ curl 'https://example.com/go/api/config/pipeline_groups' -u 'username:password' | jq -r '.[] | .pipelines[].name' | wc -l

ПРИМЕЧАНИЕ. Тем не менее пользователи Go Administrator могут получить фактическое количество конвейеров.

person Ravichandran    schedule 11.12.2019