Skip to main content

存储库交互

存储库交互 API 允许具有所有者或管理员权限的用户临时限制哪类用户可以在公共存储库中发表评论、开设议题或创建拉取请求。

关于存储库交互 API

存储库交互 API 允许具有所有者或管理员权限的用户临时限制哪类用户可以在公共存储库中发表评论、开设议题或创建拉取请求。 启用限制后,只有指定的 GitHub 用户类型才能参与交互。 限制在定义的期限后自动过期。 以下是有关 GitHub 用户类型的更多信息:

  • 仓库中的 现有用户:当您将交互限制为 existing_users时,帐户年龄小于 24 小时、以前未参与并且不是协作者的新用户将暂时受到限制。。
  • 仓库中的 仅参与者:当您将交互限制为 contributors_only时,以前未参与并且不是协作者的用户将暂时受到限制。。
  • 仓库中的 仅协作者:当您将交互限制为 collaborators_only 时,非协作者用户将暂时受到限制。。

如果对拥有该仓库的用户或组织启用了交互限制,单个仓库的限制就不能更改。 而应使用用户组织交互端点来更改交互限制。

Get interaction restrictions for a repository

Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response.

参数

标头
名称, 类型, 描述
acceptstring

Setting to application/vnd.github+json is recommended.

路径参数
名称, 类型, 描述
ownerstring必选

The account owner of the repository. The name is not case sensitive.

repostring必选

The name of the repository. The name is not case sensitive.

HTTP 响应状态代码

状态代码描述
200

OK

代码示例

get/repos/{owner}/{repo}/interaction-limits
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: token <TOKEN>" \ https://api.github.com/repos/OWNER/REPO/interaction-limits

Response

Status: 200
{ "limit": "collaborators_only", "origin": "repository", "expires_at": "2018-08-17T04:18:39Z" }

Set interaction restrictions for a repository

Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a 409 Conflict response and will not be able to use this endpoint to change the interaction limit for a single repository.

参数

标头
名称, 类型, 描述
acceptstring

Setting to application/vnd.github+json is recommended.

路径参数
名称, 类型, 描述
ownerstring必选

The account owner of the repository. The name is not case sensitive.

repostring必选

The name of the repository. The name is not case sensitive.

正文参数
名称, 类型, 描述
limitstring必选

The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect.

可以是以下其中之一: existing_users, contributors_only, collaborators_only

expirystring

The duration of the interaction restriction. Default: one_day.

可以是以下其中之一: one_day, three_days, one_week, one_month, six_months

HTTP 响应状态代码

状态代码描述
200

OK

409

Conflict

代码示例

put/repos/{owner}/{repo}/interaction-limits
curl \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: token <TOKEN>" \ https://api.github.com/repos/OWNER/REPO/interaction-limits

Response

Status: 200
{ "limit": "collaborators_only", "origin": "repository", "expires_at": "2018-08-17T04:18:39Z" }

Remove interaction restrictions for a repository

Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a 409 Conflict response and will not be able to use this endpoint to change the interaction limit for a single repository.

参数

标头
名称, 类型, 描述
acceptstring

Setting to application/vnd.github+json is recommended.

路径参数
名称, 类型, 描述
ownerstring必选

The account owner of the repository. The name is not case sensitive.

repostring必选

The name of the repository. The name is not case sensitive.

HTTP 响应状态代码

状态代码描述
204

No Content

409

Conflict

代码示例

delete/repos/{owner}/{repo}/interaction-limits
curl \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: token <TOKEN>" \ https://api.github.com/repos/OWNER/REPO/interaction-limits

Response

Status: 204