You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过GitLab Runner的authentication_token获取对应Runner ID

通过GitLab Runner Token查询Runner ID实现方案

核心逻辑

GitLab v4 API 支持通过匹配Runner Token的方式获取对应ID,你需要提前准备好对应GitLab实例的个人访问令牌(PAT),确保PAT拥有read_api权限,若查询的是共享Runner还需要开通管理员权限。

具体查询方法

调用GitLab的Runner列表接口,过滤匹配你持有的Token即可返回对应ID,curl示例如下:

# 替换下方占位符为你的实际参数
GITLAB_URL="https://gitlab.example.com"
PAT="你的GitLab个人访问令牌"
RUNNER_TOKEN="从config.toml或gitlab-runner list命令中获取的Runner Token"

curl --header "PRIVATE-TOKEN: $PAT" "$GITLAB_URL/api/v4/runners?per_page=100" | jq --arg token "$RUNNER_TOKEN" '.[] | select(.token == $token) | .id'
  • 如果你的GitLab实例Runner总数超过100,需要处理分页参数,循环拉取所有页的Runner数据再做匹配
  • 如果是项目专属Runner,可调用对应项目的/projects/项目ID/runners接口缩小查询范围,提升查询效率

自动缩容流程优化建议

你提到的缩容流程中部分操作可直接使用Runner Token完成,无需额外查询ID,可简化流程:

  • 注销Runner可直接调用POST /api/v4/runners/remove接口,仅需传入token参数即可完成操作,示例:
curl --request POST "$GITLAB_URL/api/v4/runners/remove" --form "token=$RUNNER_TOKEN"
  • 检查Runner活跃任务、暂停Runner的操作确实需要使用Runner ID,拿到ID后即可调用对应API执行后续操作

内容的提问来源于stack exchange,提问作者DavidGamba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 12:21:01