组织内具有所有存储库读取权限的团队

14
在我们公司,我们有许多存储库在一个私人的Github组织中(不向公众开放)。理想情况下,所有开发人员都应该阅读该组织中的所有存储库,但只能对其项目的存储库具有写入权限。
为此,我建立了几个Github小组(针对每个项目)。每个小组都应该对一些存储库具有写入权限(在存储库设置中很容易配置),但对所有其他存储库只有读取权限。我遇到了困难,因为我只能给每个单独的存储库授予读取权限。这不仅很麻烦(因为我们有很多存储库),而且当创建新存储库时也无法自动工作。
有没有什么地方我设置不正确?谢谢, Matthias

这就是它的工作原理。您必须手动为团队提供每个存储库的访问权限。 - Gaia
4个回答

3

由于Github不提供此功能,您需要手动完成。


1

你可以使用 Github CLI 来编写脚本。

以下的代码片段将会给予组织中所有团队成员对所有仓库的权限。

你可以根据需要进行调整。

https://gist.github.com/AndreyDodonov-EH/f30e26516ed83cfbd26f24329d40749c

gh repo list ${ORG} --limit 1000 | awk '{print $1}' | while read -r OWNED_REPO
do
    gh api --method PUT \
        -H "Accept: application/vnd.github.v3.repository+json" -H "X-GitHub-Api-Version: 2022-11-28" \
    /orgs/${ORG}/teams/${TEAM_SLUG}/repos/${OWNED_REPO} -f permission=${PERMISSION}
done

限制 - 它只能适用于现有的存储库(除非您以某种方式对其进行编排,例如使用 GitHub Actions)。


-1

现在,通过以下方式可以将所有组织成员对所有组织存储库授予基本权限:

  1. https://github.com/ORG(将ORG更改为您的组织名称)
  2. 设置
  3. 成员权限
  4. 基本权限

可以通过这种方式配置读取访问权限。写入访问权限需要针对每个存储库进行单独配置。

来自上述GitHub页面的信息:

组织存储库的基本权限适用于所有成员,但不包括外部合作者。由于组织成员可以从多个来源获得权限,已被授予比基本权限更高级别访问权限的成员和合作者将保留其更高的权限特权。


-4

我相信组织内的所有团队成员默认都将拥有只读访问权限(他们可以阅读和克隆存储库)。

如果您想给某些团队写入访问权限,而不是进入存储库设置,请在团队设置中进行配置。尝试这个方法,也许会奏效:

  • 创建团队,添加成员

  • 在相应的选项卡中添加存储库,为其提供团队写入访问权限

  • 在设置下,授予写入访问权限(将应用于上述添加到团队的存储库)

嗨,praneeth001, 我也是这么想的,但不幸的是,情况并非如此。在我们的情况下,作为组织的团队成员并不能让您访问其存储库(?). 或者我需要启用什么功能吗? - Matthias

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接