Skip to main content
The REST API is now versioned. For more information, see "About API versioning."

Взаимодействия с репозиторием

API взаимодействий с репозиторием позволяет пользователям с доступом владельца или администратора временно ограничить, какой тип пользователей может комментировать, открывать проблемы или создавать запросы на вытягивание в общедоступном репозитории.

Сведения об API взаимодействий с репозиторием

API взаимодействий с репозиторием позволяет пользователям с доступом владельца или администратора временно ограничить, какой тип пользователей может комментировать, открывать проблемы или создавать запросы на вытягивание в общедоступном репозитории. Если ограничения включены, то только указанный тип пользователя GitHub сможет участвовать во взаимодействии. Срок действия ограничений автоматически истекает по истечении заданного периода. Дополнительные сведения об этих типах пользователей GitHub:

  • Существующие пользователи. Когда вы ограничиваете взаимодействие до existing_users, к новым пользователям с созданными менее 24 часов назад учетными записями, которые ранее не внесли свой вклад и не являются участниками совместной работы, будут временно применены ограничения in the respository.
  • Только участники: когда вы ограничиваете взаимодействие до contributors_only, ко всем пользователям, которые ранее не внесли свой вклад и не являются участниками совместной работы, будут временно применены ограничения in the respository.
  • Только участники совместной работы. Когда вы ограничиваете взаимодействие до collaborators_only, к пользователям, которые не являются участниками совместной работы, будут временно применены ограничения in the respository.

Если ограничение взаимодействия включено для пользователя или организации, владеющей репозиторием, его невозможно изменить для отдельного репозитория. Вместо этого используйте конечные точки взаимодействий пользователей или организации, чтобы изменить ограничение взаимодействия.

Get interaction restrictions for a repository

Работает с GitHub Apps

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.

Параметры

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
ownerstringRequired

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

repostringRequired

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: Bearer <YOUR-TOKEN>"\ -H "X-GitHub-Api-Version: 2022-11-28" \ 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

Работает с GitHub Apps

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.

Параметры

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
ownerstringRequired

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

repostringRequired

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

Body parameters
Name, Type, Description
limitstringRequired

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

Can be one of: existing_users, contributors_only, collaborators_only

expirystring

The duration of the interaction restriction. Default: one_day.

Can be one of: 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: 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"}'

Response

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

Remove interaction restrictions for a repository

Работает с GitHub Apps

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.

Параметры

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
ownerstringRequired

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

repostringRequired

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: Bearer <YOUR-TOKEN>"\ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/interaction-limits

Response

Status: 204