跳转到主要内容

管理GitHub组织、其团队、仓库权限等

项目描述

GitHub Organization Manager

Test suites REUSE status The latest version of GitHub Org Manager can be found on PyPI. Information on what versions of Python GitHub Org Manager supports can be found on PyPI.

一个轻量级工具,帮助管理GitHub组织、其成员、团队、仓库权限等。

基本原理:所有设置都位于YAML配置文件中,这些设置将在运行此工具期间生效。

功能

  • 管理GitHub组织所有者
  • 管理GitHub团队、其成员、维护者和设置
  • 支持父子团队
  • 管理团队在组织仓库上的权限
  • 邀请尚未加入组织的成员
  • 警告未管理的团队
  • 警告不属于任何团队的组织成员
  • 处理个人协作者对仓库的权限

工具的哲学

  • 所有相关配置都应该在YAML配置文件中完成,不应在GitHub UI中执行任何操作。
  • 所有仓库权限都应该由团队成员管理。不建议使用外部协作者和单个权限。
  • 所有团队都应该由此工具管理。虽然它可以处理未管理的团队,但这不是优先事项,可能会导致警告。

是否缺少功能?请检查是否已作为问题发布,如果没有,请创建一个。

安装

依赖:Python 3.10或更高版本

安装: pip3 install github-org-manager

您还可以考虑使用如 pipx 的辅助工具,以避免系统中的依赖混乱。

之后,您可以使用命令 gh-org-mgr 运行此工具。使用 --help 标志可以了解所需的和可用的命令。

配置

config/example 内,您可以找到一个示例配置,这将帮助您理解结构。

  • app.yaml:运行此工具所需的配置
  • org.yaml:组织范围内的配置
  • teams/*.yaml:与您组织团队有关的配置。

您可能还感兴趣的是 OpenRail 协会组织的实时配置

运行程序

您可以使用命令 gh-org-mgr 执行程序。gh-org-mgr --help 显示所有可用参数和选项。

同步示例

  • gh-org-mgr sync -c myorgconf:同步 GitHub 组织的设置与指定配置路径(myorgconf)中的本地配置。这可能创建新的团队、移除/添加成员以及更改权限。
  • gh-org-mgr sync -c myorgconf --dry:与上述相同,但不进行任何修改。非常适合测试本地配置并查看其潜在影响。
  • gh-org-mgr sync -c myorgconf --debug:第一个示例,但显示完整的调试信息。

设置团队示例

  • gh-org-mgr setup-team -n "My Team Name" -c myorgconf:为此团队名称创建团队配置。将创建文件 myorgconf/teams/my-team-name.yaml,或者在文件已存在时提供选项。
  • gh-org-mgr setup-team -n "My Team Name" -f path/to/myteam.yaml:为此团队名称创建团队配置,并强制将其写入指定的文件。如果文件已存在,将提供一些选项。

许可证

此存储库的内容受 Apache 2.0 许可证 的许可。

可能包含不同但兼容的许可证或来自不同版权所有者的组件。该项目符合 REUSE 规范,这使得这些部分变得透明。您可以在 LICENSES 目录中找到所有使用的许可证。

该项目由 OpenRail 协会 启动。欢迎您 贡献

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

github_org_manager-0.5.1.tar.gz (31.9 kB 查看哈希值)

上传时间:

构建分发

github_org_manager-0.5.1-py3-none-any.whl (38.9 kB 查看哈希值)

上传时间: Python 3

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页