2

很抱歉这个简短的问题,但只是想知道是否有一个 API 可以找出 GoCD 服务器上的管道数量。

4

5 回答 5

0

作为替代方案,您可以从服务器http://yourgoserver/go/cctray.xml获取 cctray 文件并对其进行解析。

它包含有关所有管道(包括其阶段)的信息

于 2017-04-09T19:34:25.297 回答
0

您可以获取 config.xml 文件并对其进行解析。从配置仓库或通过 http。

于 2017-02-04T12:42:23.807 回答
0

是的当然。您可以通过不同的方式获得所需的输出。从需要管理员权限的 GoCD 支持 URL ( https://example.com/go/api/support )获取管道数量和其他统计信息的第一种简单方法。

如果用户没有管理员权限,我们需要使用 GoCD pipeline_groupsAPI。下面的命令应该给你确切的结果jqJSON 处理器

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

注意: Still Go 管理员用户可以获得实际的管道数量。

于 2019-12-11T14:07:13.303 回答
0

Pipeline Groups API将在解析 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"
  }
]
于 2017-01-26T16:57:15.530 回答
0

我建议使用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)))
于 2017-04-13T20:23:41.773 回答