很抱歉这个简短的问题,但只是想知道是否有一个API来查找GoCD服务器上的管道数量。
答案 0 :(得分: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"
}
]
答案 1 :(得分:0)
您可以获取config.xml文件并解析它。 from the config repo或通过http。
答案 2 :(得分:0)
作为替代方案,您只需从服务器http://yourgoserver/go/cctray.xml获取cctray文件并解析它。
它包含有关所有管道(包括其阶段)的信息
答案 3 :(得分: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)))
答案 4 :(得分:0)
是的,当然。您可以通过不同的方式获得所需的输出。从GoCD支持URL(https://example.com/go/api/support)获取管道数量和其他统计信息的第一种简单方法,该方法需要管理员特权。
如果用户没有管理员权限,则需要使用GoCD pipeline_groups
API。以下命令应为您提供准确的结果,jq
(JSON processor)
$ curl 'https://example.com/go/api/config/pipeline_groups' -u 'username:password' | jq -r '.[] | .pipelines[].name' | wc -l
注意::仍然 Go Administrator 用户可以获取实际的管道数量。