问题:我试图弄清楚如何从GitLab API获取待处理作业/构建/管道的数量。
背景:目标是使用此数据作为基于待处理构建自动扩展CI运行程序的基础。由于我们的工作具有尖锐的性质,通常基于CPU的自动缩放不能很好地工作。工作完成得太快,跑步者需要很长时间才能启动。
我做了什么:我已经查看了Pipelines API以及Jobs API。我们使用pending
Status
和所有包含pending
Scope
的管道来轮询所有工作,但这些工作始终为零。即使有待定版本。
TBH我甚至不确定这里的术语。我应该查看Jobs API,Pipelines API还是其他什么东西?
此外,我还不确定Status
与{{1}}的含义。不幸的是,它没有在API文档中解释过。
任何帮助都将不胜感激。
答案 0 :(得分:2)
您应该从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
输出正确pdftk fg.pdf background bg.pdf output new.pdf
。