Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы, возможно, еще выполняется. Актуальные сведения см. в документации на английском языке.
REST API теперь имеет версию. Дополнительные сведения см. в разделе Сведения об управлении версиями API.

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

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

Кто может использовать эту функцию

People with owner or admin access to temporarily restrict which type of user can comment, open issues, or create pull requests in a public repository.

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

Люди с правами владельца или администратора могут использовать REST 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.

Параметры для "Get interaction restrictions for a repository"

Заголовки
Имя, Тип, Описание
accept string

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

Параметры пути
Имя, Тип, Описание
owner string Обязательно

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

repo string Обязательно

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

Коды состояния HTTP-ответа для "Get interaction restrictions for a repository"

Код состоянияОписание
200

OK

Примеры кода для "Get interaction restrictions for a repository"

get/repos/{owner}/{repo}/interaction-limits
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

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.

Параметры для "Set interaction restrictions for a repository"

Заголовки
Имя, Тип, Описание
accept string

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

Параметры пути
Имя, Тип, Описание
owner string Обязательно

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

repo string Обязательно

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

Параметры запроса
Имя, Тип, Описание
limit string Обязательно

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

expiry string

The duration of the interaction restriction. Default: one_day.

Может быть одним из: one_day, three_days, one_week, one_month, six_months

Коды состояния HTTP-ответа для "Set interaction restrictions for a repository"

Код состоянияОписание
200

OK

409

Conflict

Примеры кода для "Set interaction restrictions for a repository"

put/repos/{owner}/{repo}/interaction-limits
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"}'

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.

Параметры для "Remove interaction restrictions for a repository"

Заголовки
Имя, Тип, Описание
accept string

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

Параметры пути
Имя, Тип, Описание
owner string Обязательно

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

repo string Обязательно

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

Коды состояния HTTP-ответа для "Remove interaction restrictions for a repository"

Код состоянияОписание
204

No Content

409

Conflict

Примеры кода для "Remove interaction restrictions for a repository"

delete/repos/{owner}/{repo}/interaction-limits
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

Response

Status: 204