You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为GitHub组织中新创建的仓库自动添加默认团队

为GitHub组织新仓库自动添加团队的替代方案

1. 利用GitHub组织原生默认仓库权限设置

这是最省心的零代码方案:

  • 进入你的GitHub组织设置页面,找到Repository permissions选项
  • 选中需要自动赋予权限的团队,设置对应的默认权限(如读取、写入、维护等)
  • 后续组织内新创建的仓库会自动继承这些团队的权限配置,无需手动干预

2. 基于GitHub Apps的事件触发方案

通过监听仓库创建的Webhook事件,实现实时自动处理:

  • 创建一个GitHub App,开启repository事件中的created事件权限
  • 在App的后端服务中编写逻辑,当收到新仓库创建的Webhook通知时,调用GitHub REST API为该仓库添加指定团队
  • 可用Octokit库简化API调用,Node.js示例代码:
const { Octokit } = require("@octokit/rest");
const octokit = new Octokit({ auth: "YOUR_GITHUB_APP_TOKEN" });

// 处理Webhook中的仓库创建事件
async function handleRepoCreated(event) {
  const { org, repo } = event.payload.repository;
  const teamSlug = "your-team-slug";
  const permission = "write";

  await octokit.rest.teams.addOrUpdateRepoPermissionsInOrg({
    org: org.login,
    team_slug: teamSlug,
    owner: org.login,
    repo: repo.name,
    permission: permission
  });
}

3. 自托管定时脚本

在自有服务器上部署定时脚本,按需检查新仓库并添加团队:

  • 用Python、Shell等语言结合GitHub官方SDK(如PyGitHub、Octokit)编写脚本
  • 用Linux的cron或Windows任务计划程序设置执行频率(比如每小时一次,比每日执行更高效)
  • Python示例代码片段:
from github import Github
from datetime import datetime, timedelta

g = Github("YOUR_PERSONAL_ACCESS_TOKEN")
org = g.get_organization("your-org-name")
target_team = org.get_team_by_slug("your-team-slug")

# 筛选过去1小时内创建的仓库
time_threshold = datetime.utcnow() - timedelta(hours=1)
for repo in org.get_repos():
    if repo.created_at >= time_threshold:
        target_team.add_to_repos(repo, permission="write")

内容的提问来源于stack exchange,提问作者Thuan Khang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 12:02:35