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

如何通过GitHub API设置或检查仓库的「所有外部协作者都需审批」配置?

如何通过GitHub API设置或检查仓库的「所有外部协作者都需审批」配置?

我来帮你搞定这个问题!你提到的这个「所有外部协作者都需审批」的设置,对应的GitHub API端点其实藏在仓库的核心配置里,我给你一步步拆解操作方法:

一、检查单个仓库的当前设置

你可以通过GitHub REST API的仓库详情接口来查看这个配置状态:

  1. 调用 GET /repos/{owner}/{repo} 接口(把{owner}换成仓库所有者,{repo}换成仓库名)
  2. 在返回的JSON数据里,找到 require_external_collaborator_approval 字段:
    • true 表示已开启该设置
    • false 表示未开启

举个curl命令的例子(记得替换成你的token和仓库信息):

curl -H "Authorization: Bearer 你的GitHub访问令牌" \
  https://api.github.com/repos/用户名/仓库名

二、开启/关闭这个设置

如果要修改这个配置,用PATCH请求更新仓库设置即可:
调用 PATCH /repos/{owner}/{repo} 接口,在请求体里指定require_external_collaborator_approval的布尔值:

比如开启该设置的curl命令:

curl -X PATCH -H "Authorization: Bearer 你的GitHub访问令牌" \
  -H "Content-Type: application/json" \
  https://api.github.com/repos/用户名/仓库名 \
  -d '{"require_external_collaborator_approval": true}'

要是想关闭,把true改成false就行。

三、批量排查未开启该设置的仓库

如果想批量找出所有没开这个设置的仓库,可以写个简单脚本遍历所有仓库,筛选出符合条件的:
下面是一个Python示例(需要安装requests库),以组织仓库为例(如果是个人仓库,把orgs换成user即可):

import requests

# 替换成你的GitHub令牌和组织/用户名
TOKEN = "你的GitHub访问令牌"
TARGET_OWNER = "你的组织名或用户名"

headers = {"Authorization": f"Bearer {TOKEN}"}

# 获取所有仓库(处理分页)
all_repos = []
current_url = f"https://api.github.com/{'orgs' if '/' not in TARGET_OWNER else 'user'}/{TARGET_OWNER}/repos?per_page=100"
while current_url:
    resp = requests.get(current_url, headers=headers)
    all_repos.extend(resp.json())
    current_url = resp.links.get("next", {}).get("url")

# 筛选未开启设置的仓库
missing_approval_repos = []
for repo in all_repos:
    repo_details = requests.get(repo["url"], headers=headers).json()
    if not repo_details.get("require_external_collaborator_approval", False):
        missing_approval_repos.append(repo["full_name"])

# 输出结果
print("未开启「所有外部协作者都需审批」的仓库列表:")
for repo_name in missing_approval_repos:
    print(f"- {repo_name}")

注意事项

  • 你的GitHub访问令牌需要有足够权限:如果操作私有仓库,需要repo权限;公开仓库则需要public_repo权限。
  • API调用要注意GitHub的速率限制,避免短时间内请求过多导致被限制。

备注:内容来源于stack exchange,提问作者KamilCuk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 12:49:29