Взаимодействия с репозиторием
Используйте REST API, чтобы временно ограничить тип пользователя, который может комментировать, открывать проблемы или создавать запросы на вытягивание в общедоступном репозитории.
Сведения о взаимодействии с репозиториями
Люди с правами владельца или администратора могут использовать REST API для временного ограничения того, какой тип пользователя может комментировать, открывать проблемы или создавать запросы на вытягивание в общедоступном репозитории. Если ограничения включены, то только указанный тип пользователя GitHub Enterprise Cloud сможет участвовать во взаимодействии. Срок действия ограничений автоматически истекает по истечении заданного периода. Дополнительные сведения об этих типах пользователей GitHub Enterprise Cloud:
- Существующие пользователи. Когда вы ограничиваете взаимодействие до
existing_users
, к новым пользователям с созданными менее 24 часов назад учетными записями, которые ранее не внесли свой вклад и не являются участниками совместной работы, будут временно применены ограничения in the respository. - Только участники: когда вы ограничиваете взаимодействие до
contributors_only
, ко всем пользователям, которые ранее не внесли свой вклад и не являются участниками совместной работы, будут временно применены ограничения in the respository. - Только участники совместной работы. Когда вы ограничиваете взаимодействие до
collaborators_only
, к пользователям, которые не являются участниками совместной работы, будут временно применены ограничения in the respository.
Если ограничение взаимодействия включено для пользователя или организации, владеющей репозиторием, его невозможно изменить для отдельного репозитория. Вместо этого используйте конечные точки взаимодействий пользователей или организации, чтобы изменить ограничение взаимодействия.
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.
Параметры для "Get interaction restrictions for a repository"
Заголовки |
---|
Имя, Тип, Описание |
accept string Setting to |
Параметры пути |
Имя, Тип, Описание |
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"
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
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 |
Параметры пути |
Имя, Тип, Описание |
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. Может быть одним из: |
expiry string The duration of the interaction restriction. Default: Может быть одним из: |
Коды состояния HTTP-ответа для "Set interaction restrictions for a repository"
Код состояния | Описание |
---|---|
200 | OK |
409 | Conflict |
Примеры кода для "Set interaction restrictions for a repository"
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
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 |
Параметры пути |
Имя, Тип, Описание |
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"
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