我想列出GitLab项目中的所有项目变量.我已经关注了他们的官方documentation,但似乎我无法让它工作.

以下是我的代码:

import gitlab, os

# authenticate
gl = gitlab.Gitlab('https://gitlab.com/', private_token=os.environ['GITLAB_TOKEN'])

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

错误:

Attribute错误: 'GroupProject' object has no attribute 'variables'

推荐答案

问题是group.list使用groups list project API并返回GroupProject个对象,而不是Project个对象.GroupProject个对象没有.variables个管理器,而Project个对象do.

要解决此问题,您必须从GroupProject对象中提取ID,并分别调用Projects API以获取Project对象:

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)  # can be lazy if you want
    project.variables.list()

Python-3.x相关问答推荐

根据收件箱内部的值以行降序的特定顺序重新排序列

Gekko优化超出了方程式的界限(由于某种原因,会产生变量)

Pyvis和Networkx:如何根据源或目标使 node colored颜色 不同

如何检索与美汤相似的标签中的文本?

PythonPandas 创建一个列并添加到DataFrame

切片时是否在NumPy ND数组中创建新对象?

从Metacritic上通过网络擦除游戏数据的问题

给定panda代码的分组和百分比分布pyspark等价

以某种方式分割字符串

PyTest:尽管明确运行了测试,但是被标记为没有运行测试

SQL Server 2022和Python3.10脚本错误

pip 找不到最新的软件包版本

判断是否存在大文件而不下载它

python中两个连续的yield语句如何工作?

AttributeError:系列对象没有属性iterrows

为什么在 Python 3 中实例的 __dict__ 的大小要小得多?

是否可以在每个路由的基础上限制 Flask POST 数据大小?

python中的绝对导入是什么?

有效地判断一个元素是否在列表中至少出现 n 次

首次使用后 zip 变量为空