GitLab API:待定构建数

GitLab API: Number of pending builds

问题:我想弄清楚如何从 GitLab API.

中获取待处理 jobs/builds/pipelines 的数量

背景:目标是使用此数据作为根据未决构建自动缩放 CI 跑步者的基础。由于我们工作的尖峰性质,基于 CPU 的常规自动缩放效果不佳。工作完成得太快,跑步者启动时间太长。

我做了什么:我看过Pipelines API as well as the Jobs API。我们用 Scope pending 轮询所有作业,用 Status pending 轮询所有管道,但它们始终为零。即使有待处理的构建。

TBH 我什至不确定这里的术语。我应该查看工作 API、管道 API 还是其他所有内容?

此外,我不确定 ScopeStatus 的含义。不幸的是,API 文档中没有对此进行解释。

如有任何帮助,我们将不胜感激。

您应该从 Jobs API:

获取待处理作业列表
curl -g --header "PRIVATE-TOKEN: <your_private_token>" "https://<gitlab_url>/api/v4/projects/<project_id>/jobs?scope=pending"

示例: 我启动了一个管道,其中有 9 个作业,但是我的跑步者上的 concurrency 设置为 3

curl -g --header "PRIVATE-TOKEN: <your_private_token>" "https://<gitlab_url>/api/v4/projects/<project_id>/jobs?scope=pending" | jq '. | length'

并且输出正确6