如何使用python-gitlab列出GitLab Runner的标签?
解决GitLab项目Runner标签获取问题
你当前用project.runners.list()获取的是Runner的精简信息,默认不包含标签字段。要获取每个Runner的标签,需要获取Runner的完整详情数据,具体实现如下:
方法一:获取完整Runner详情对象
import gitlab gl = gitlab.Gitlab(url=<my-gitlab-url>, private_token=<my-gitlab-api-token>) project = gl.projects.get(<my-project-id>) for runner in project.runners.list(get_all=True): # 获取当前Runner的完整详情 full_runner = project.runners.get(runner.id) # 输出Runner名称与对应标签 print(f"Runner {full_runner.name} 的标签列表: {full_runner.tags}")
方法二:指定字段减少API请求
如果想避免额外的API调用,可在list方法中直接指定要返回的字段,一次性获取标签信息:
import gitlab gl = gitlab.Gitlab(url=<my-gitlab-url>, private_token=<my-gitlab-api-token>) project = gl.projects.get(<my-project-id>) # 列出Runner时直接指定包含tags和name字段 for runner in project.runners.list(get_all=True, include_attributes=['tags', 'name']): print(f"Runner {runner.name} 的标签列表: {runner.tags}")
说明
tags字段返回的是一个字符串列表,对应Runner配置的所有标签。- 方法二更高效,因为它只发起一次批量请求就能获取所需数据,无需为每个Runner单独请求详情。
内容的提问来源于stack exchange,提问作者minice
相关产品推荐
相关产品推荐

