Skip to main content

管理组织的自定义存储库角色

通过创建自定义存储库角色,可以更精细地控制对组织存储库的访问。

Who can use this feature

Organization owners can manage custom repository roles.

关于自定义存储库角色

要对 GitHub Enterprise Cloud 执行任何操作,例如在存储库中创建拉取请求或更改组织的计费设置,人员必须具有对相关帐户或资源的足够访问权限。 此访问由权限控制。 权限是执行特定操作的能力。 例如,删除问题的能力是一种权限。 角色是你可以分配给个人或团队的一组权限。

在组织内,您可以在组织、团队和存储库级别分配角色。 有关不同级别角色的详细信息,请参阅“组织中的角色”。

通过创建最多三个自定义存储库角色,可以更精细地控制在存储库级授予的权限。 自定义存储库角色是一组可配置的权限,具有您选择的自定义名称。 创建自定义角色后,对存储库具有管理员访问权限的任何人都可以将该角色分配给个人或团队。 有关详细信息,请参阅“管理个人对组织存储库的访问”和“管理团队对组织存储库的访问。”

还可以使用 REST API 创建和管理自定义存储库角色。 有关详细信息,请参阅“自定义存储库角色。”

关于继承的角色

创建自定义存储库角色时,首先从一组预定义选项中选择继承的角色。 继承的角色确定自定义角色中包含的初始权限集。 然后,您可以通过选择其他权限来授予角色,从而进一步自定义角色。 有关可用权限的完整列表,请参阅“自定义角色的其他权限”。

继承角色的选项已针对存储库中不同类型的参与者进行了标准化。

继承的角色用途
读取想要查看或讨论项目的非代码参与者。
会审需要主动管理问题和在没有写入访问权限的情况下拉取请求的参与者。
写入积极推动项目的组织成员和协作者。
维护需要管理存储库而无法访问敏感或破坏性操作的项目经理。

自定义角色示例

以下是您可以配置的自定义存储库角色的一些示例。

自定义存储库角色总结继承的角色其他权限
安全工程师能够贡献代码并维护安全管道维护删除代码扫描结果
承办商能够开发 web 挂钩集成写入管理 web 挂钩
社区经理能够处理所有社区互动,而无需贡献代码读取- 将问题标记为重复问题
- 管理 GitHub 页面设置
- 管理 Wiki 设置
- 设置社交预览
- 编辑存储库元数据
- 会审讨论

自定义角色的其他权限

选择继承角色后,您可以为自定义角色选择其他权限。

仅当继承的角色中尚未包含其他权限时,才能选择该权限。 例如,如果继承的角色提供对存储库的写入访问权限,则“关闭拉取请求”权限将已包含在继承的角色中。

讨论

  • 创建讨论类别:能够创建新的讨论类别。 有关详细信息,请参阅“创建新的讨论类别”。
  • 编辑讨论类别:能够编辑讨论类别。 有关详细信息,请参阅“编辑讨论类别”。
  • 删除讨论类别:能够删除讨论类别。 有关详细信息,请参阅“删除讨论类别”。
  • 标记或取消标记讨论答案:如果讨论的类别可接受答案,则能够标记讨论的答案。 有关详细信息,请参阅“将讨论中的评论标记或取消标记为答案”。
  • 隐藏或取消隐藏讨论评论:能够在讨论中隐藏和取消隐藏评论。 有关详细信息,请参阅“审查讨论”。
  • 将问题转换为讨论:能够将问题转换为讨论。 有关详细信息,请参阅“将问题转换为讨论”。

议题和拉取请求

  • 分配或删除用户:将用户分配给问题或拉取请求,或从问题或拉取请求中删除用户。
  • 添加或删除标签:向问题或拉取请求添加标签,或从问题或拉取请求中删除标签。

问题

  • 关闭问题
  • 重新打开已关闭的问题
  • 删除问题
  • 将问题标记为重复问题

拉取请求

  • 关闭拉取请求
  • 重新打开已关闭的拉取请求
  • 请求拉取请求评审:请求用户或团队进行评审。

存储库

  • 设置里程碑:向问题或拉取请求添加里程碑。
  • 管理 Wiki 设置:为存储库启用 Wiki。
  • 管理项目设置:为存储库启用项目。
  • 管理拉取请求合并设置:选择存储库中允许的合并提交类型,例如合并、压缩或变基。
  • 管理 GitHub Pages 设置:为存储库启用 GitHub Pages,然后选择要发布的分支。 有关详细信息,请参阅“为 GitHub Pages 站点配置发布源”。
  • 管理 Webhook:将 Webhook 添加到存储库。
  • 管理部署密钥:将部署密钥添加到存储库。
  • 编辑存储库元数据:更新存储库说明以及存储库主题。
  • 设置交互限制:暂时限制某些用户在公共存储库中发表评论、提出问题或创建拉取请求,以强制在一段时间内执行有限的活动。 有关详细信息,请参阅“限制存储库中的交互。”
  • 设置社交预览:将识别图像添加到存储库,该图像在链接存储库时显示在社交媒体平台上。 有关详细信息,请参阅“自定义存储库的社交媒体预览”。
  • 将提交推送到受保护的分支:推送到标记为受保护分支的分支。 分支保护规则仍将适用,并可能导致推送遭到拒绝。
  • 创建受保护的标记:创建符合标记保护规则的标记。 有关详细信息,请参阅“配置标记保护规则”。
  • 删除受保护的标记:删除符合标记保护规则的标记。 有关详细信息,请参阅“配置标记保护规则”。
  • 绕过分支保护:无需遵守分支保护规则即可推送到受保护分支。

安全性

  • 查看 code scanning 结果:能够查看 code scanning 警报。
  • 关闭或重新打开 code scanning 结果:能够关闭或重新打开 code scanning 警报。
  • 删除 code scanning 结果:能够删除 code scanning 警报。
  • 查看 Dependabot alerts :能够查看 Dependabot alerts。
  • 关闭或重新打开 Dependabot alerts :能够关闭或重新打开 Dependabot alerts。
  • 查看 secret scanning 结果:能够查看 secret scanning 警报。
  • 关闭或重新打开 secret scanning 结果:能够关闭或重新打开 secret scanning 警报。

不同级别访问的优先级

如果通过不同的途径(如团队成员身份和组织的基本权限)为某人授予不同级别的访问权限,则最高访问权限将覆盖其他访问权限。 例如,如果组织所有者向组织成员提供使用“读取”继承角色的自定义角色,然后组织所有者将组织的基本权限设置为“写入”,则此自定义角色将具有写入权限以及自定义角色中包含的任何其他权限。

如果某个人员获得冲突的访问权限,你将在存储库访问页上看到一条警告。 警告显示在具有冲突访问权限的人员旁,带有“ 混合角色”。 若要查看冲突访问权限的来源,请将鼠标悬停在警告图标上,或单击“混合角色”。

要解决冲突的访问权限,您可以调整组织的基本权限或团队的访问权限,或编辑自定义角色。 有关详细信息,请参阅:

创建存储库角色

要创建新的存储库角色,请向继承的角色添加权限并为自定义角色命名。

注意:只有使用 GitHub Enterprise Cloud 的组织才能创建自定义存储库角色。 有关如何免费试用 GitHub Enterprise Cloud 的详细信息,请参阅“设置 GitHub Enterprise Cloud 的试用版”。

  1. 在 GitHub.com 的右上角,单击你的头像照片,然后单击“你的个人资料”。 个人资料照片 1. 在 GitHub.com 的右上角,单击你的个人资料照片,然后单击“你的组织”。 贵组织在配置文件菜单中 1. 在组织名称下,单击“设置”。 组织设置按钮 1. 在“组织”下的组织名称旁,单击“设置”。 “设置”按钮旁边的组织屏幕截图 1. 在边栏的“访问”部分,单击“ 存储库角色”。
  2. 单击“创建角色”。 “创建角色”按钮的屏幕截图
  3. 在“Name(名称)”下,键入存储库角色的名称。 用于键入存储库角色名称的字段
  4. 在“Description(描述)”下,键入存储库角色的描述。 用于键入存储库角色说明的字段
  5. 在“Choose a role to inherit(选择要继承的角色)”下,选择要继承的角色。 选择存储库角色基础角色选项
  6. 在“Add Permissions(添加权限)”下,使用下拉菜单选择您希望自定义角色包含的权限。 从存储库角色下拉列表中选择权限级别
  7. 单击“创建角色”。 确认创建存储库角色

编辑存储库角色

  1. 在 GitHub.com 的右上角,单击你的头像照片,然后单击“你的个人资料”。 个人资料照片 1. 在 GitHub.com 的右上角,单击你的个人资料照片,然后单击“你的组织”。 贵组织在配置文件菜单中 1. 在组织名称下,单击“设置”。 组织设置按钮 1. 在“组织”下的组织名称旁,单击“设置”。 “设置”按钮旁边的组织屏幕截图 1. 在边栏的“访问”部分,单击“ 存储库角色”。
  2. 在要编辑的角色右侧,单击 ,然后单击“编辑”。 存储库角色下拉菜单中的“编辑”选项
  3. 编辑,然后单击“更新角色”。 编辑字段和更新存储库角色

删除存储库角色

如果您删除现有存储库角色,则所有具有自定义角色的待处理邀请、团队和用户都将被重新分配给组织的基本权限。

  1. 在 GitHub.com 的右上角,单击你的头像照片,然后单击“你的个人资料”。 个人资料照片 1. 在 GitHub.com 的右上角,单击你的个人资料照片,然后单击“你的组织”。 贵组织在配置文件菜单中 1. 在组织名称下,单击“设置”。 组织设置按钮 1. 在“组织”下的组织名称旁,单击“设置”。 “设置”按钮旁边的组织屏幕截图 1. 在边栏的“访问”部分,单击“ 存储库角色”。
  2. 在要删除的角色右侧,单击 ,然后单击“删除”。 存储库角色下拉菜单中的“编辑”选项
  3. 查看要删除的角色的更改,然后单击“删除角色”。 确认删除存储库角色