我需要找到Gitlab组中的所有项目和共享项目。我设法列出了所有项目的名称如下:
group = gl.groups.get(11111, lazy=True)
# find all projects, also in subgroups
projects=group.projects.list(include_subgroups=True, all=True)
for prj in projects:
print(prj.attributes['name'])
print("")
字符串
我所缺少的是列出组内的共享项目。或者换句话说:找出我的小组是成员的所有项目。Python API可以做到这一点吗?
4条答案
按热度按时间62o28rlo1#
所以,受到sytech的回答的启发,我发现它一开始就不起作用,因为共享项目仍然隐藏在子组中。所以我想出了下面的代码,它可以通过所有不同级别的子组来查找所有共享项目。我想这可以写得更优雅,但它对我来说很有效:
字符串
还有一个问题-在一开始我通过它的id检索主组(在这里:11111),但是我实际上也可以通过查找组的名称来获得这个id吗?类似于:
group_id = gl.group.get(attribute={'name','foo'})
(不工作)?n3ipq98p2#
您可以通过
.shared_projects
属性获取共享项目:字符串
但是,不能对
gl.groups.get
使用lazy=True
参数。型
pxq42qpu3#
这段代码将查询每个子组中的所有项目,并处理子组中的多个子组。它工作得很完美,我希望它能帮助其他人。
字符串
gfttwv5a4#
字符串