Взаимодействия с репозиторием
Используйте REST API для временного ограничения того, какой тип пользователя может комментировать, открывать проблемы или создавать запросы на вытягивание в общедоступный репозиторий.
About repository interactions
People with owner or admin access can use the REST API to temporarily restrict which type of user can comment, open issues, or create pull requests in a public repository. When restrictions are enabled, only the specified type of GitHub Enterprise Cloud user will be able to participate in interactions. Restrictions automatically expire after a defined duration. Here's more about the types of GitHub Enterprise Cloud users:
- Existing users: When you limit interactions to
existing_users
, new users with accounts less than 24 hours old who have not previously contributed and are not collaborators will be temporarily restricted in the repository. - Contributors only: When you limit interactions to
contributors_only
, users who have not previously contributed and are not collaborators will be temporarily restricted in the repository. - Collaborators only: When you limit interactions to
collaborators_only
, users who are not collaborators will be temporarily restricted in the repository.
If an interaction limit is enabled for the user or organization that owns the repository, the limit cannot be changed for the individual repository. Instead, use the User or Organization interactions endpoints to change the interaction limit.
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"
Имя., Тип, Description |
---|
accept string Setting to |
Имя., Тип, Description |
---|
owner string Обязательное полеThe account owner of the repository. The name is not case sensitive. |
repo string Обязательное полеThe name of the repository without the |
Коды состояния 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"
Имя., Тип, Description |
---|
accept string Setting to |
Имя., Тип, Description |
---|
owner string Обязательное полеThe account owner of the repository. The name is not case sensitive. |
repo string Обязательное полеThe name of the repository without the |
Имя., Тип, Description |
---|
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"
Имя., Тип, Description |
---|
accept string Setting to |
Имя., Тип, Description |
---|
owner string Обязательное полеThe account owner of the repository. The name is not case sensitive. |
repo string Обязательное полеThe name of the repository without the |
Коды состояния 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