用于存储库交互的 REST API 端点
使用 REST API 暂时限制哪些类型的用户可以在公共存储库中发表评论、打开问题或创建拉取请求。
谁可以使用此功能?
拥有公共存储库的所有者或管理员权限的人员可以暂时限制哪些类型的用户可以在公共存储库中发表评论、打开问题或创建拉取请求。
关于存储库交互
拥有所有者或管理员权限的人员可以使用 REST API 暂时限制哪些类型的用户可以在公共存储库中发表评论、打开问题或创建拉取请求。启用限制后,只有指定类型的 GitHub 用户才能参与交互。限制会在定义的持续时间后自动过期。以下是对 GitHub 用户类型的更多说明
- 现有用户:当您将交互限制为
existing_users
时,帐户创建不到 24 小时且之前未贡献过且不是合作者的新用户将被暂时限制在存储库中。 - 仅限贡献者:当您将交互限制为
contributors_only
时,之前未贡献过且不是合作者的用户将被暂时限制在存储库中。 - 仅限合作者:当您将交互限制为
collaborators_only
时,不是合作者的用户将被暂时限制在存储库中。
如果为拥有存储库的用户或组织启用了交互限制,则无法更改单个存储库的限制。相反,请使用 用户 或 组织 交互端点更改交互限制。
获取存储库的交互限制
显示哪些类型的 GitHub 用户可以与该仓库交互以及限制何时到期。如果没有限制,您将看到一个空响应。
用于“获取仓库交互限制”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- “管理”仓库权限(读取)
用于“获取仓库交互限制”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
owner string 必需仓库的帐户所有者。名称不区分大小写。 |
repo string 必需仓库的名称,不包含 |
用于“获取仓库交互限制”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
用于“获取仓库交互限制”的代码示例
请求示例
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/interaction-limits
响应
设置仓库交互限制
在给定仓库中暂时将交互限制为特定类型的 GitHub 用户。您必须具有所有者或管理员访问权限才能设置这些限制。如果为拥有此仓库的用户或组织设置了交互限制,您将收到409 Conflict
响应,并且将无法使用此端点更改单个仓库的交互限制。
针对“设置仓库交互限制”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- “管理”仓库权限(写入)
“设置仓库交互限制”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
owner string 必需仓库的帐户所有者。名称不区分大小写。 |
repo string 必需仓库的名称,不包含 |
名称、类型、描述 |
---|
limit string 必需在交互限制生效期间,可以评论、打开问题或创建拉取请求的 GitHub 用户类型。 可以是以下之一:: |
expiry string 交互限制的持续时间。默认值: 可以是以下之一:: |
“设置仓库交互限制”的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
200 | OK |
409 | 冲突 |
“设置仓库交互限制”的代码示例
请求示例
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/interaction-limits \ -d '{"limit":"collaborators_only","expiry":"one_day"}'
响应
删除仓库的交互限制
从给定仓库中删除所有交互限制。您必须拥有所有者或管理员访问权限才能删除限制。如果交互限制是针对拥有此仓库的用户或组织设置的,您将收到 409 Conflict
响应,并且无法使用此端点更改单个仓库的交互限制。
针对“删除仓库交互限制”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- “管理”仓库权限(写入)
“删除仓库交互限制”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
owner string 必需仓库的帐户所有者。名称不区分大小写。 |
repo string 必需仓库的名称,不包含 |
“删除仓库交互限制”的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
204 | 无内容 |
409 | 冲突 |
“删除仓库交互限制”的代码示例
请求示例
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/interaction-limits
响应
状态:204