Pontos de extremidade da API REST para interações com o repositório
Use a API REST para restringir temporariamente o tipo de usuário que pode comentar, abrir problemas ou criar solicitações de pull em um repositório público.
Quem pode usar esse recurso?
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.
Sobre as interações de repositório
As pessoas com acesso de proprietário ou administrador podem usar a API REST para restringir temporariamente qual tipo de usuário pode comentar, abrir problemas ou criar solicitações de pull em um repositório público. Quando as restrições são habilitadas, apenas o tipo especificado de usuário de GitHub poderá participar das interações. As restrições expiram automaticamente após uma duração definida. Veja mais sobre os tipos de usuários de GitHub:
- Usuários existentes: quando você limita as interações a
existing_users
, os novos usuários que têm contas com menos de 24 horas, que ainda não contribuíram e que não são colaboradores ficarão temporariamente restritos in the respository. - Somente colaboradores: quando você limitar as interações aos
contributors_only
, os usuários que ainda não contribuíram e que não são colaboradores ficarão temporariamente restritos in the respository. - Somente colaboradores: quando você limita as interações com
collaborators_only
, os usuários que não são colaboradores são temporariamente restringidos de interagir in the respository.
Se um limite de interação for habilitado para o usuário ou organização proprietária do repositório, o limite não poderá ser alterado para o repositório individual. Em vez disso, use os pontos de extremidade de interações de Usuário ou Organização para alterar o limite de interação.
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.
Tokens de acesso refinados para "Get interaction restrictions for a repository"
Esse ponto de extremidade funciona com os seguintes tipos de token refinados:
- Tokens de acesso de usuário do aplicativo GitHub
- Tokens de acesso à instalação do aplicativo GitHub
- Tokens de acesso pessoal refinados
O token refinado deve ter os seguintes conjuntos de permissões:
- "Administration" repository permissions (read)
Parâmetros para "Get interaction restrictions for a repository"
Nome, Tipo, Descrição |
---|
accept string Setting to |
Nome, Tipo, Descrição |
---|
owner string ObrigatórioThe account owner of the repository. The name is not case sensitive. |
repo string ObrigatórioThe name of the repository without the |
Códigos de status de resposta HTTP para "Get interaction restrictions for a repository"
Código de status | Descrição |
---|---|
200 | OK |
Exemplos de código para "Get interaction restrictions for a repository"
Exemplo de solicitação
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.
Tokens de acesso refinados para "Set interaction restrictions for a repository"
Esse ponto de extremidade funciona com os seguintes tipos de token refinados:
- Tokens de acesso de usuário do aplicativo GitHub
- Tokens de acesso à instalação do aplicativo GitHub
- Tokens de acesso pessoal refinados
O token refinado deve ter os seguintes conjuntos de permissões:
- "Administration" repository permissions (write)
Parâmetros para "Set interaction restrictions for a repository"
Nome, Tipo, Descrição |
---|
accept string Setting to |
Nome, Tipo, Descrição |
---|
owner string ObrigatórioThe account owner of the repository. The name is not case sensitive. |
repo string ObrigatórioThe name of the repository without the |
Nome, Tipo, Descrição |
---|
limit string ObrigatórioThe type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. Pode ser um dos: |
expiry string The duration of the interaction restriction. Default: Pode ser um dos: |
Códigos de status de resposta HTTP para "Set interaction restrictions for a repository"
Código de status | Descrição |
---|---|
200 | OK |
409 | Conflict |
Exemplos de código para "Set interaction restrictions for a repository"
Exemplo de solicitação
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.
Tokens de acesso refinados para "Remove interaction restrictions for a repository"
Esse ponto de extremidade funciona com os seguintes tipos de token refinados:
- Tokens de acesso de usuário do aplicativo GitHub
- Tokens de acesso à instalação do aplicativo GitHub
- Tokens de acesso pessoal refinados
O token refinado deve ter os seguintes conjuntos de permissões:
- "Administration" repository permissions (write)
Parâmetros para "Remove interaction restrictions for a repository"
Nome, Tipo, Descrição |
---|
accept string Setting to |
Nome, Tipo, Descrição |
---|
owner string ObrigatórioThe account owner of the repository. The name is not case sensitive. |
repo string ObrigatórioThe name of the repository without the |
Códigos de status de resposta HTTP para "Remove interaction restrictions for a repository"
Código de status | Descrição |
---|---|
204 | No Content |
409 | Conflict |
Exemplos de código para "Remove interaction restrictions for a repository"
Exemplo de solicitação
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