Gitlab v4 api 403禁止项目.variables.list出现错误(get_all=True)



我使用Gitlab v4-api列出项目的变量,虽然代码对一些项目返回vars,但对其他一些项目也返回403禁止响应。这个错误不是很详细,所以我很困惑可能的原因是什么。我使用的是一个组访问令牌,它对组内的所有项目都具有读取api权限。下面是一段代码:

group = gl.groups.get(20, lazy=True)
group_projects = group.projects.list(include_subgroups=True, all=True)
for group_project in group_projects:
project = gl.projects.get(group_project.id)
project.variables.list(get_all=True)

错误:b'{"message":"403 Forbidden"}'

这可能是什么原因?

GitLab的API响应并不明确,但存档的、有空存储库或禁用存储库/CI功能的项目将没有可用的变量。你可以通过检查你的循环中的那些功能来防止这种情况:

if (
project.archived
or project.empty_repo
or project.repository_access_level == "disabled"
):
continue

或者类似的东西。您还可以在UI中检查变量设置是否确实可见。

最新更新