Взаимодействия с репозиторием
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
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 |
acceptstringSetting to |
| Path parameters |
| Name, Type, Description |
ownerstringRequiredThe account owner of the repository. The name is not case sensitive. |
repostringRequiredThe name of the repository. The name is not case sensitive. |
Коды состояния HTTP-ответа
| Код состояния | Описание |
|---|---|
200 | OK |
Примеры кода
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-limitsResponse
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.
Параметры
| Headers |
|---|
| Name, Type, Description |
acceptstringSetting to |
| Path parameters |
| Name, Type, Description |
ownerstringRequiredThe account owner of the repository. The name is not case sensitive. |
repostringRequiredThe name of the repository. The name is not case sensitive. |
| Body parameters |
| Name, Type, Description |
limitstringRequiredThe type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. Can be one of: |
expirystringThe duration of the interaction restriction. Default: Can be one of: |
Коды состояния HTTP-ответа
| Код состояния | Описание |
|---|---|
200 | OK |
409 | Conflict |
Примеры кода
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
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 |
acceptstringSetting to |
| Path parameters |
| Name, Type, Description |
ownerstringRequiredThe account owner of the repository. The name is not case sensitive. |
repostringRequiredThe name of the repository. The name is not case sensitive. |
Коды состояния HTTP-ответа
| Код состояния | Описание |
|---|---|
204 | No Content |
409 | Conflict |
Примеры кода
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-limitsResponse
Status: 204