You can use these GitHub Enterprise Cloud endpoints to administer your enterprise account.
URLs do ponto de extremidade
Os endpoints da API REST — exceto endpoints da API Console de Gerenciamento — são prefixados com a seguinte URL:
http(s)://hostname/api/v3/
Os endpoints de API Console de gerenciamento somente são prefixados com um nome de host:
http(s)://hostname/
Autenticação
Os endpoints de API da sua instalação do GitHub Enterprise aceitam os mesmos métodos de autenticação da API do GitHub.com. Você pode se autenticar com tokens OAuth (que podem ser criados usando a API de Autorizações) ou autenticação básica. Os tokens OAuth devem ter o escopo do OAuth site_admin quando usados com pontos de extremidades específicos da empresa.
Os endpoints da API de administração da empresa somente são acessíveis para administradores do site autenticados pelo GitHub Enterprise, exceto a API Console de gerenciamento, que requer a senha do Console de Gerenciamento.
Informações da versão
A versão atual de uma instância do GitHub Enterprise é retornada no cabeçalho de resposta de cada API: X-GitHub-Enterprise-Versão: enterprise-server@2.21.0 Você também pode ler a versão atual chamando o meta endpoint.
Estatísticas de admin
A API de Estatísticas Administrativas fornece uma variedade de métricas sobre sua instalação. Só está disponível para administradores do site autenticados. Usuários normais receberão uma mensagem 404 se tentarem acessá-la.
Get statistics
There are a variety of types to choose from:
| Type | Description |
|---|---|
issues | The number of open and closed issues. |
hooks | The number of active and inactive hooks. |
milestones | The number of open and closed milestones. |
orgs | The number of organizations, teams, team members, and disabled organizations. |
comments | The number of comments on issues, pull requests, commits, and gists. |
pages | The number of GitHub Pages sites. |
users | The number of suspended and admin users. |
gists | The number of private and public gists. |
pulls | The number of merged, mergeable, and unmergeable pull requests. |
repos | The number of organization-owned repositories, root repositories, forks, pushed commits, and wikis. |
all | All of the statistics listed above. |
These statistics are cached and will be updated approximately every 10 minutes.
get /enterprise/stats/{type}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
type |
string | path |
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/enterprise/stats/TYPE
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprise/stats/{type}', {
type: 'type'
})
Default response
Status: 200 OK
{
"repos": {
"total_repos": 212,
"root_repos": 194,
"fork_repos": 18,
"org_repos": 51,
"total_pushes": 3082,
"total_wikis": 15
},
"hooks": {
"total_hooks": 27,
"active_hooks": 23,
"inactive_hooks": 4
},
"pages": {
"total_pages": 36
},
"orgs": {
"total_orgs": 33,
"disabled_orgs": 0,
"total_teams": 60,
"total_team_members": 314
},
"users": {
"total_users": 254,
"admin_users": 45,
"suspended_users": 21
},
"pulls": {
"total_pulls": 86,
"merged_pulls": 60,
"mergeable_pulls": 21,
"unmergeable_pulls": 3
},
"issues": {
"total_issues": 179,
"open_issues": 83,
"closed_issues": 96
},
"milestones": {
"total_milestones": 7,
"open_milestones": 6,
"closed_milestones": 1
},
"gists": {
"total_gists": 178,
"private_gists": 151,
"public_gists": 25
},
"comments": {
"total_commit_comments": 6,
"total_gist_comments": 28,
"total_issue_comments": 366,
"total_pull_request_comments": 30
}
}
Webhooks globais
Webhooks globais são instalados em uma instância do GitHub Enterprise. Você pode usar webhooks globais para monitorar, responder ou impor regras automaticamente para usuários, organizações, equipes e repositórios em sua instância. Webhooks globais podem se inscrever para os tipos de eventos organização, usuário, repositório, equipe, integrante, filiação, bifurcaçãoe ping.
Esta API está disponível somente para administradores do site autenticados. Usuários normais receberão uma mensagem 404 se tentarem acessá-la. Para aprender como configurar webhooks globais, consulte Sobre webhooks globais.
get /admin/hooks
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
accept |
string | header | This API is under preview and subject to change. |
per_page |
integer | query | Results per page (max 100) |
page |
integer | query | Page number of the results to fetch. |
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.superpro-preview+json" \
https://api.github.com/admin/hooks
JavaScript (@octokit/core.js)
await octokit.request('GET /admin/hooks', {
mediaType: {
previews: [
'superpro'
]
}
})
Default response
Status: 200 OK
[
{
"type": "Global",
"id": 1,
"name": "web",
"active": true,
"events": [
"organization",
"user"
],
"config": {
"url": "https://example.com",
"content_type": "json",
"insecure_ssl": "0",
"secret": "********"
},
"updated_at": "2017-12-07T00:14:59Z",
"created_at": "2017-12-07T00:14:59Z",
"url": "https://api.github.com/admin/hooks/1",
"ping_url": "https://api.github.com/admin/hooks/1/pings"
}
]
Aviso de pré-visualização
The Global Webhooks API is currently available for developers to preview. To access the API during the preview period, you must provide a custom media type in the Accept header:
application/vnd.github.superpro-preview+json
☝️ Este cabeçalho é obrigatório.
post /admin/hooks
Parâmetros
| Name | Type | In | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
||||||||
accept |
string | header | This API is under preview and subject to change. |
||||||||
name |
string | body |
Required. Must be passed as "web". |
||||||||
config |
object | body |
Required. Key/value pairs to provide settings for this webhook. |
||||||||
config object |
|||||||||||
url (string) |
Required. The URL to which the payloads will be delivered. |
content_type (string) |
The media type used to serialize the payloads. Supported values include |
secret (string) |
If provided, the |
insecure_ssl (string) |
Determines whether the SSL certificate of the host for |
eventsThe events that trigger this webhook. A global webhook can be triggered by user and organization events. Default: user and organization.
activeDetermines if notifications are sent when the webhook is triggered. Set to true to send notifications.
true
Amostras de código
Shell
curl \
-X POST \
-H "Accept: application/vnd.github.superpro-preview+json" \
https://api.github.com/admin/hooks \
-d '{"name":"name","config":{"url":"url","content_type":"content_type","secret":"secret","insecure_ssl":"insecure_ssl"}}'
JavaScript (@octokit/core.js)
await octokit.request('POST /admin/hooks', {
name: 'name',
config: {
url: 'url',
content_type: 'content_type',
secret: 'secret',
insecure_ssl: 'insecure_ssl'
},
mediaType: {
previews: [
'superpro'
]
}
})
Default response
Status: 201 Created
{
"type": "Global",
"id": 1,
"name": "web",
"active": true,
"events": [
"organization",
"user"
],
"config": {
"url": "https://example.com",
"content_type": "json",
"insecure_ssl": "0",
"secret": "********"
},
"updated_at": "2017-12-07T00:14:59Z",
"created_at": "2017-12-07T00:14:59Z",
"url": "https://api.github.com/admin/hooks/1",
"ping_url": "https://api.github.com/admin/hooks/1/pings"
}
Aviso de pré-visualização
The Global Webhooks API is currently available for developers to preview. To access the API during the preview period, you must provide a custom media type in the Accept header:
application/vnd.github.superpro-preview+json
☝️ Este cabeçalho é obrigatório.
get /admin/hooks/{hook_id}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
accept |
string | header | This API is under preview and subject to change. |
hook_id |
integer | path |
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.superpro-preview+json" \
https://api.github.com/admin/hooks/42
JavaScript (@octokit/core.js)
await octokit.request('GET /admin/hooks/{hook_id}', {
hook_id: 42,
mediaType: {
previews: [
'superpro'
]
}
})
Default response
Status: 200 OK
{
"type": "Global",
"id": 1,
"name": "web",
"active": true,
"events": [
"organization",
"user"
],
"config": {
"url": "https://example.com",
"content_type": "json",
"insecure_ssl": "0",
"secret": "********"
},
"updated_at": "2017-12-07T00:14:59Z",
"created_at": "2017-12-07T00:14:59Z",
"url": "https://api.github.com/admin/hooks/1",
"ping_url": "https://api.github.com/admin/hooks/1/pings"
}
Aviso de pré-visualização
The Global Webhooks API is currently available for developers to preview. To access the API during the preview period, you must provide a custom media type in the Accept header:
application/vnd.github.superpro-preview+json
☝️ Este cabeçalho é obrigatório.
Update a global webhook
Parameters that are not provided will be overwritten with the default value or removed if no default exists.
patch /admin/hooks/{hook_id}
Parâmetros
| Name | Type | In | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
||||||||
accept |
string | header | This API is under preview and subject to change. |
||||||||
hook_id |
integer | path | |||||||||
config |
object | body |
Key/value pairs to provide settings for this webhook. |
||||||||
config object |
|||||||||||
url (string) |
Required. The URL to which the payloads will be delivered. |
content_type (string) |
The media type used to serialize the payloads. Supported values include |
secret (string) |
If provided, the |
insecure_ssl (string) |
Determines whether the SSL certificate of the host for |
eventsThe events that trigger this webhook. A global webhook can be triggered by user and organization events. Default: user and organization.
activeDetermines if notifications are sent when the webhook is triggered. Set to true to send notifications.
true
Amostras de código
Shell
curl \
-X PATCH \
-H "Accept: application/vnd.github.superpro-preview+json" \
https://api.github.com/admin/hooks/42 \
-d '{"config":{"url":"url","content_type":"content_type","secret":"secret","insecure_ssl":"insecure_ssl"}}'
JavaScript (@octokit/core.js)
await octokit.request('PATCH /admin/hooks/{hook_id}', {
hook_id: 42,
config: {
url: 'url',
content_type: 'content_type',
secret: 'secret',
insecure_ssl: 'insecure_ssl'
},
mediaType: {
previews: [
'superpro'
]
}
})
Default response
Status: 200 OK
{
"type": "Global",
"id": 1,
"name": "web",
"active": true,
"events": [
"organization"
],
"config": {
"url": "https://example.com",
"content_type": "form",
"insecure_ssl": "0"
},
"updated_at": "2017-12-07T00:14:59Z",
"created_at": "2017-12-07T00:14:59Z",
"url": "https://api.github.com/admin/hooks/1",
"ping_url": "https://api.github.com/admin/hooks/1/pings"
}
Aviso de pré-visualização
The Global Webhooks API is currently available for developers to preview. To access the API during the preview period, you must provide a custom media type in the Accept header:
application/vnd.github.superpro-preview+json
☝️ Este cabeçalho é obrigatório.
delete /admin/hooks/{hook_id}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
accept |
string | header | This API is under preview and subject to change. |
hook_id |
integer | path |
Amostras de código
Shell
curl \
-X DELETE \
-H "Accept: application/vnd.github.superpro-preview+json" \
https://api.github.com/admin/hooks/42
JavaScript (@octokit/core.js)
await octokit.request('DELETE /admin/hooks/{hook_id}', {
hook_id: 42,
mediaType: {
previews: [
'superpro'
]
}
})
Default Response
Status: 204 No Content
Aviso de pré-visualização
The Global Webhooks API is currently available for developers to preview. To access the API during the preview period, you must provide a custom media type in the Accept header:
application/vnd.github.superpro-preview+json
☝️ Este cabeçalho é obrigatório.
Ping a global webhook
This will trigger a ping event to be sent to the webhook.
post /admin/hooks/{hook_id}/pings
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
accept |
string | header | This API is under preview and subject to change. |
hook_id |
integer | path |
Amostras de código
Shell
curl \
-X POST \
-H "Accept: application/vnd.github.superpro-preview+json" \
https://api.github.com/admin/hooks/42/pings
JavaScript (@octokit/core.js)
await octokit.request('POST /admin/hooks/{hook_id}/pings', {
hook_id: 42,
mediaType: {
previews: [
'superpro'
]
}
})
Default Response
Status: 204 No Content
Aviso de pré-visualização
The Global Webhooks API is currently available for developers to preview. To access the API during the preview period, you must provide a custom media type in the Accept header:
application/vnd.github.superpro-preview+json
☝️ Este cabeçalho é obrigatório.
LDAP
Você pode usar a API LDAP para atualizar as relações de conta entre um usuário ou equipe GitHub Enterprise Server e sua entrada LDAP vinculada ou enfileirar uma nova sincronização.
Com os endpoints de mapeamento LDAP, você é capaz de atualizar o Nome Distinto (DN) para o qual um usuário ou uma equipe mapeia. Note que os endpoints LDAP são geralmente eficazes apenas se o seu appliance GitHub Enterprise Server tiver Sincronização LDAP habilitada. O endpoint mapeamento LDAP de atualização para um usuário pode ser usado quando o LDAP é habilitado, mesmo que a sincronização LDAP esteja desativada.
Update LDAP mapping for a team
Updates the distinguished name (DN) of the LDAP entry to map to a team. LDAP synchronization must be enabled to map LDAP entries to a team. Use the Create a team endpoint to create a team with LDAP mapping.
You can also update the LDAP mapping of a child team.
patch /admin/ldap/teams/{team_id}/mapping
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
team_id |
integer | path | |
ldap_dn |
string | body |
The distinguished name (DN) of the LDAP entry to map to a team. |
Amostras de código
Shell
curl \
-X PATCH \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/admin/ldap/teams/42/mapping \
-d '{"ldap_dn":"ldap_dn"}'
JavaScript (@octokit/core.js)
await octokit.request('PATCH /admin/ldap/teams/{team_id}/mapping', {
team_id: 42,
ldap_dn: 'ldap_dn'
})
Default response
Status: 200 OK
{
"ldap_dn": "cn=Enterprise Ops,ou=teams,dc=github,dc=com",
"id": 1,
"node_id": "MDQ6VGVhbTE=",
"url": "https://api.github.com/teams/1",
"html_url": "https://api.github.com/teams/justice-league",
"name": "Justice League",
"slug": "justice-league",
"description": "A great team.",
"privacy": "closed",
"permission": "admin",
"members_url": "https://api.github.com/teams/1/members{/member}",
"repositories_url": "https://api.github.com/teams/1/repos",
"parent": null
}
Sync LDAP mapping for a team
Note that this API call does not automatically initiate an LDAP sync. Rather, if a 201 is returned, the sync job is queued successfully, and is performed when the instance is ready.
post /admin/ldap/teams/{team_id}/sync
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
team_id |
integer | path |
Amostras de código
Shell
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/admin/ldap/teams/42/sync
JavaScript (@octokit/core.js)
await octokit.request('POST /admin/ldap/teams/{team_id}/sync', {
team_id: 42
})
Response
Status: 201 Created
{
"status": "queued"
}
patch /admin/ldap/users/{username}/mapping
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
username |
string | path | |
ldap_dn |
string | body |
The distinguished name (DN) of the LDAP entry to map to a team. |
Amostras de código
Shell
curl \
-X PATCH \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/admin/ldap/users/USERNAME/mapping \
-d '{"ldap_dn":"ldap_dn"}'
JavaScript (@octokit/core.js)
await octokit.request('PATCH /admin/ldap/users/{username}/mapping', {
username: 'username',
ldap_dn: 'ldap_dn'
})
Default response
Status: 200 OK
{
"ldap_dn": "uid=asdf,ou=users,dc=github,dc=com",
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": false
}
Sync LDAP mapping for a user
Note that this API call does not automatically initiate an LDAP sync. Rather, if a 201 is returned, the sync job is queued successfully, and is performed when the instance is ready.
post /admin/ldap/users/{username}/sync
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
username |
string | path |
Amostras de código
Shell
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/admin/ldap/users/USERNAME/sync
JavaScript (@octokit/core.js)
await octokit.request('POST /admin/ldap/users/{username}/sync', {
username: 'username'
})
Response
Status: 201 Created
{
"status": "queued"
}
Licença
A API de Licença fornece informações sobre sua licença empresarial. Só está disponível para administradores do site autenticados. Usuários normais receberão uma mensagem 404 se tentarem acessá-la.
get /enterprise/settings/license
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/enterprise/settings/license
JavaScript (@octokit/core.js)
await octokit.request('GET /enterprise/settings/license')
Default response
Status: 200 OK
{
"seats": 1400,
"seats_used": 1316,
"seats_available": 84,
"kind": "standard",
"days_until_expiration": 365,
"expire_at": "2016/02/06 12:41:52 -0600"
}
Console de gerenciamento
A API do Console de Gerenciamento ajuda você a gerenciar sua instalação do GitHub Enterprise Server.
Você deve definir explicitamente o número da porta ao fazer chamadas de API para o Console de Gerenciamento. Se o TLS estiver ativado na sua instância empresarial, o número da porta é 8443; caso contrário, o número da porta é 8080.
Se não quiser fornecer um número da porta, você precisará configurar sua ferramenta para seguir os redirecionamentos automaticamente.
Talvez você também precise adicionar o sinalizador-k quando estiver usando cURL, pois GitHub Enterprise Server usa um certificado autoassinado antes de você adicionar seu próprio certificado TLS.
Autenticação
Você precisa passar a sua senha do Console de Gerenciamento como token de autenticação para cada endpoint de API do Console de Gerenciamento, exceto /setup/api/start.
Use o parâmetro api_key para enviar este token com cada solicitação. Por exemplo:
$ curl -L 'https://hostname:admin_port/setup/api?api_key=your-amazing-password'
Você também pode usar a autenticação HTTP padrão para enviar esse token. Por exemplo:
$ curl -L 'https://api_key:your-amazing-password@hostname:admin_port/setup/api'
Get the configuration status
This endpoint allows you to check the status of the most recent configuration process:
Note that you may need to wait several seconds after you start a process before you can check its status.
The different statuses are:
| Status | Description |
|---|---|
PENDING | The job has not started yet |
CONFIGURING | The job is running |
DONE | The job has finished correctly |
FAILED | The job has finished unexpectedly |
get /setup/api/configcheck
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/setup/api/configcheck
JavaScript (@octokit/core.js)
await octokit.request('GET /setup/api/configcheck')
Default response
Status: 200 OK
{
"status": "running",
"progress": [
{
"status": "DONE",
"key": "Appliance core components"
},
{
"status": "DONE",
"key": "GitHub utilities"
},
{
"status": "DONE",
"key": "GitHub applications"
},
{
"status": "CONFIGURING",
"key": "GitHub services"
},
{
"status": "PENDING",
"key": "Reloading appliance services"
}
]
}
Start a configuration process
This endpoint allows you to start a configuration process at any time for your updated settings to take effect:
post /setup/api/configure
Amostras de código
Shell
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/setup/api/configure
JavaScript (@octokit/core.js)
await octokit.request('POST /setup/api/configure')
Response
Status: 202 Accepted
Get the maintenance status
Check your installation's maintenance status:
get /setup/api/maintenance
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/setup/api/maintenance
JavaScript (@octokit/core.js)
await octokit.request('GET /setup/api/maintenance')
Default response
Status: 200 OK
{
"status": "scheduled",
"scheduled_time": "Tuesday, January 22 at 15 => 34 -0800",
"connection_services": [
{
"name": "git operations",
"number": 0
},
{
"name": "mysql queries",
"number": 233
},
{
"name": "resque jobs",
"number": 54
}
]
}
Enable or disable maintenance mode
The possible values for enabled are true and false. When it's false, the attribute when is ignored and the maintenance mode is turned off. when defines the time period when the maintenance was enabled.
The possible values for when are now or any date parseable by mojombo/chronic.
post /setup/api/maintenance
Amostras de código
Shell
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/setup/api/maintenance \
-d '{"maintenance":"maintenance"}'
JavaScript (@octokit/core.js)
await octokit.request('POST /setup/api/maintenance', {
maintenance: 'maintenance'
})
Default response
Status: 200 OK
{
"status": "scheduled",
"scheduled_time": "Tuesday, January 22 at 15 => 34 -0800",
"connection_services": [
{
"name": "git operations",
"number": 0
},
{
"name": "mysql queries",
"number": 233
},
{
"name": "resque jobs",
"number": 54
}
]
}
get /setup/api/settings
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/setup/api/settings
JavaScript (@octokit/core.js)
await octokit.request('GET /setup/api/settings')
Default response
Status: 200 OK
{
"enterprise": {
"private_mode": false,
"public_pages": false,
"subdomain_isolation": true,
"signup_enabled": false,
"github_hostname": "ghe.local",
"identicons_host": "dotcom",
"http_proxy": null,
"auth_mode": "default",
"expire_sessions": false,
"admin_password": null,
"configuration_id": 1401777404,
"configuration_run_count": 4,
"avatar": {
"enabled": false,
"uri": ""
},
"customer": {
"name": "GitHub",
"email": "stannis@themannis.biz",
"uuid": "af6cac80-e4e1-012e-d822-1231380e52e9",
"secret_key_data": "-----BEGIN PGP PRIVATE KEY BLOCK-----\nVersion: GnuPG v1.4.10 (GNU/Linux)\n\nlQcYBE5TCgsBEACk4yHpUcapplebaumBMXYMiLF+nCQ0lxpx...\n-----END PGP PRIVATE KEY BLOCK-----\n",
"public_key_data": "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1.4.10 (GNU/Linux)\n\nmI0ETqzZYgEEALSe6snowdenXyqvLfSQ34HWD6C7....\n-----END PGP PUBLIC KEY BLOCK-----\n"
},
"license": {
"seats": 0,
"evaluation": false,
"perpetual": false,
"unlimited_seating": true,
"support_key": "ssh-rsa AAAAB3N....",
"ssh_allowed": true,
"cluster_support": false,
"expire_at": "2016-04-27T00:00:00-07:00"
},
"github_ssl": {
"enabled": false,
"cert": null,
"key": null
},
"ldap": {
"host": null,
"port": 0,
"base": [],
"uid": null,
"bind_dn": null,
"password": null,
"method": "Plain",
"search_strategy": "detect",
"user_groups": [],
"admin_group": null,
"virtual_attribute_enabled": false,
"recursive_group_search": false,
"posix_support": true,
"user_sync_emails": false,
"user_sync_keys": false,
"user_sync_interval": 4,
"team_sync_interval": 4,
"sync_enabled": false,
"reconciliation": {
"user": null,
"org": null
},
"profile": {
"uid": "uid",
"name": null,
"mail": null,
"key": null
}
},
"cas": {
"url": null
},
"saml": {
"sso_url": null,
"certificate": null,
"certificate_path": null,
"issuer": null,
"idp_initiated_sso": false,
"disable_admin_demote": false
},
"github_oauth": {
"client_id": "12313412",
"client_secret": "kj123131132",
"organization_name": "Homestar Runners",
"organization_team": "homestarrunners/characters"
},
"smtp": {
"enabled": true,
"address": "smtp.example.com",
"authentication": "plain",
"port": "1234",
"domain": "blah",
"username": "foo",
"user_name": "mr_foo",
"enable_starttls_auto": true,
"password": "bar",
"discard-to-noreply-address": true,
"support_address": "enterprise@github.com",
"support_address_type": "email",
"noreply_address": "noreply@github.com"
},
"ntp": {
"primary_server": "0.pool.ntp.org",
"secondary_server": "1.pool.ntp.org"
},
"timezone": null,
"snmp": {
"enabled": false,
"community": ""
},
"syslog": {
"enabled": false,
"server": null,
"protocol_name": "udp"
},
"assets": null,
"pages": {
"enabled": true
},
"collectd": {
"enabled": false,
"server": null,
"port": 0,
"encryption": null,
"username": null,
"password": null
},
"mapping": {
"enabled": true,
"tileserver": null,
"basemap": "company.map-qsz2zrvs",
"token": null
},
"load_balancer": null
},
"run_list": [
"recipe[enterprise-configure]"
]
}
Set settings
For a list of the available settings, see the Get settings endpoint.
put /setup/api/settings
Amostras de código
Shell
curl \
-X PUT \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/setup/api/settings \
-d '{"settings":"settings"}'
JavaScript (@octokit/core.js)
await octokit.request('PUT /setup/api/settings', {
settings: 'settings'
})
Default Response
Status: 204 No Content
get /setup/api/settings/authorized-keys
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/setup/api/settings/authorized-keys
JavaScript (@octokit/core.js)
await octokit.request('GET /setup/api/settings/authorized-keys')
Default response
Status: 200 OK
[
{
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAAB...",
"pretty-print": "ssh-rsa 01:14:0f:f2:0f:e2:fe:e8:f4:72:62:af:75:f7:1a:88:3e:04:92:64"
},
{
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAAB...",
"pretty-print": "ssh-rsa 01:14:0f:f2:0f:e2:fe:e8:f4:72:62:af:75:f7:1a:88:3e:04:92:64"
}
]
post /setup/api/settings/authorized-keys
Amostras de código
Shell
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/setup/api/settings/authorized-keys \
-d '{"authorized_key":"authorized_key"}'
JavaScript (@octokit/core.js)
await octokit.request('POST /setup/api/settings/authorized-keys', {
authorized_key: 'authorized_key'
})
Default response
Status: 201 Created
[
{
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAAB...",
"pretty-print": "ssh-rsa 01:14:0f:f2:0f:e2:fe:e8:f4:72:62:af:75:f7:1a:88:3e:04:92:64"
},
{
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAAB...",
"pretty-print": "ssh-rsa 01:14:0f:f2:0f:e2:fe:e8:f4:72:62:af:75:f7:1a:88:3e:04:92:64"
},
{
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAAB...",
"pretty-print": "ssh-rsa 01:14:0f:f2:0f:e2:fe:e8:f4:72:62:af:75:f7:1a:88:3e:04:92:64"
}
]
delete /setup/api/settings/authorized-keys
Amostras de código
Shell
curl \
-X DELETE \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/setup/api/settings/authorized-keys \
-d '{"authorized_key":"authorized_key"}'
JavaScript (@octokit/core.js)
await octokit.request('DELETE /setup/api/settings/authorized-keys', {
authorized_key: 'authorized_key'
})
Default response
Status: 200 OK
[
{
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAAB...",
"pretty-print": "ssh-rsa 01:14:0f:f2:0f:e2:fe:e8:f4:72:62:af:75:f7:1a:88:3e:04:92:64"
},
{
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAAB...",
"pretty-print": "ssh-rsa 01:14:0f:f2:0f:e2:fe:e8:f4:72:62:af:75:f7:1a:88:3e:04:92:64"
}
]
Create a GitHub license
When you boot a GitHub instance for the first time, you can use the following endpoint to upload a license:
Note that you need to POST to /setup/api/configure to start the actual configuration process.
When using this endpoint, your GitHub instance must have a password set. This can be accomplished two ways:
- If you're working directly with the API before accessing the web interface, you must pass in the password parameter to set your password.
- If you set up your instance via the web interface before accessing the API, your calls to this endpoint do not need the password parameter.
For a list of the available settings, see the Get settings endpoint.
post /setup/api/start
Amostras de código
Shell
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/setup/api/start \
-d '{"license":"license"}'
JavaScript (@octokit/core.js)
await octokit.request('POST /setup/api/start', {
license: 'license'
})
Response
Status: 202 Accepted
Upgrade a license
This API upgrades your license and also triggers the configuration process:
post /setup/api/upgrade
Amostras de código
Shell
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/setup/api/upgrade \
-d '{"license":"license"}'
JavaScript (@octokit/core.js)
await octokit.request('POST /setup/api/upgrade', {
license: 'license'
})
Response
Status: 202 Accepted
Organizações
A API de administração da organização permite criar organizações em um appliance do GitHub Enterprise Server. Só está disponível para administradores do site autenticados. Usuários normais receberão uma mensagem 404 se tentarem acessá-la.
post /admin/organizations
Amostras de código
Shell
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/admin/organizations \
-d '{"login":"login","admin":"admin"}'
JavaScript (@octokit/core.js)
await octokit.request('POST /admin/organizations', {
login: 'login',
admin: 'admin'
})
Default response
Status: 201 Created
{
"login": "github",
"id": 1,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE=",
"url": "https://api.github.com/orgs/github",
"repos_url": "https://api.github.com/orgs/github/repos",
"events_url": "https://api.github.com/orgs/github/events",
"hooks_url": "https://api.github.com/orgs/github/hooks",
"issues_url": "https://api.github.com/orgs/github/issues",
"members_url": "https://api.github.com/orgs/github/members{/member}",
"public_members_url": "https://api.github.com/orgs/github/public_members{/member}",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"description": "A great organization"
}
patch /admin/organizations/{org}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
org |
string | path | |
login |
string | body |
Required. The organization's new name. |
Amostras de código
Shell
curl \
-X PATCH \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/admin/organizations/ORG \
-d '{"login":"login"}'
JavaScript (@octokit/core.js)
await octokit.request('PATCH /admin/organizations/{org}', {
org: 'org',
login: 'login'
})
Response
Status: 202 Accepted
{
"message": "Job queued to rename organization. It may take a few minutes to complete.",
"url": "https://<hostname>/api/v3/organizations/1"
}
Hooks pre-receive da organização
A API de Hooks pre-receive da Organização permite que você veja e modifique a aplicação dos hooks pre-receive disponíveis para uma organização.
Atributos do objeto
| Nome | Tipo | Descrição |
|---|---|---|
name | string | O nome do hook. |
enforcement | string | O estado de aplicação para o hook neste repositório. |
allow_downstream_configuration | boolean | Se os repositórios podem substituir a imposição. |
configuration_url | string | URL para o ponto de extremidade em que a aplicação é definida. |
Os valores possíveis para aplicação são habilitado, desabilitado etestando. desabilitado indica que o hook pre-receive não será executado. habilitado indica que será executado e rejeitará quaisquer pushes que resultem em um status diferente de zero. testando significa que o script será executado, mas não fará com que quaisquer pushes sejam rejeitados.
configuration_url pode ser um link para este endpoint ou configuração global deste hook. Apenas administradores do site podem acessar a configuração global.
List pre-receive hooks for an organization
List all pre-receive hooks that are enabled or testing for this organization as well as any disabled hooks that can be configured at the organization level. Globally disabled pre-receive hooks that do not allow downstream configuration are not listed.
get /orgs/{org}/pre-receive-hooks
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
org |
string | path | |
per_page |
integer | query | Results per page (max 100) |
page |
integer | query | Page number of the results to fetch. |
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/orgs/ORG/pre-receive-hooks
JavaScript (@octokit/core.js)
await octokit.request('GET /orgs/{org}/pre-receive-hooks', {
org: 'org',
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 200 OK
[
{
"id": 42,
"name": "Check Commits",
"enforcement": "disabled",
"configuration_url": "https://github.example.com/api/v3/admin/pre-receive-hooks/42",
"allow_downstream_configuration": true
}
]
Notes
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
get /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
org |
string | path | |
pre_receive_hook_id |
integer | path |
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/orgs/ORG/pre-receive-hooks/42
JavaScript (@octokit/core.js)
await octokit.request('GET /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}', {
org: 'org',
pre_receive_hook_id: 42,
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 200 OK
{
"id": 42,
"name": "Check Commits",
"enforcement": "disabled",
"configuration_url": "https://github.example.com/api/v3/admin/pre-receive-hooks/42",
"allow_downstream_configuration": true
}
Notes
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
Update pre-receive hook enforcement for an organization
For pre-receive hooks which are allowed to be configured at the org level, you can set enforcement and allow_downstream_configuration
patch /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
org |
string | path | |
pre_receive_hook_id |
integer | path | |
enforcement |
string | body |
The state of enforcement for the hook on this repository. |
allow_downstream_configuration |
boolean | body |
Whether repositories can override enforcement. |
Amostras de código
Shell
curl \
-X PATCH \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/orgs/ORG/pre-receive-hooks/42 \
-d '{"enforcement":"enforcement"}'
JavaScript (@octokit/core.js)
await octokit.request('PATCH /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}', {
org: 'org',
pre_receive_hook_id: 42,
enforcement: 'enforcement',
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 200 OK
{
"id": 42,
"name": "Check Commits",
"enforcement": "enabled",
"configuration_url": "https://github.example.com/api/v3/orgs/octocat/pre-receive-hooks/42",
"allow_downstream_configuration": false
}
Notes
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
Remove pre-receive hook enforcement for an organization
Removes any overrides for this hook at the org level for this org.
delete /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
org |
string | path | |
pre_receive_hook_id |
integer | path |
Amostras de código
Shell
curl \
-X DELETE \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/orgs/ORG/pre-receive-hooks/42
JavaScript (@octokit/core.js)
await octokit.request('DELETE /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}', {
org: 'org',
pre_receive_hook_id: 42,
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 200 OK
{
"id": 42,
"name": "Check Commits",
"enforcement": "disabled",
"configuration_url": "https://github.example.com/api/v3/admin/pre-receive-hooks/42",
"allow_downstream_configuration": true
}
Notes
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
Ambientes pre-receive
A API de Ambientes Pre-receive permite que você crie, liste, atualize e apague ambientes para hooks pre-receive. Só está disponível para administradores do site autenticados. Usuários normais receberão uma mensagem 404 se tentarem acessá-la.
Atributos do objeto
Ambiente pre-receive
| Nome | Tipo | Descrição |
|---|---|---|
name | string | O nome do ambiente conforme exibido na interface do usuário. |
image_url | string | URL do tarball que será baixado e extraído. |
default_environment | boolean | Se este é o ambiente-padrão que vem com GitHub Enterprise Server. |
download | objeto | Status do download deste ambiente. |
hooks_count | inteiro | O número de hooks de pre-receive que usam este ambiente. |
Download do ambiente pre-receive
| Nome | Tipo | Descrição |
|---|---|---|
estado | string | O estado do download mais recente. |
downloaded_at | string | A hora em que o download mais recente começou. |
mensagem | string | Em caso de falha, serão produzidas mensagens de erro. |
Os valores possíveis para o estado são not_started, in_progress, sucesso falho.
get /admin/pre-receive-environments
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
per_page |
integer | query | Results per page (max 100) |
page |
integer | query | Page number of the results to fetch. |
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/admin/pre-receive-environments
JavaScript (@octokit/core.js)
await octokit.request('GET /admin/pre-receive-environments', {
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 200 OK
[
{
"id": 1,
"name": "Default",
"image_url": "githubenterprise://internal",
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/1",
"html_url": "https://github.example.com/admin/pre-receive-environments/1",
"default_environment": true,
"created_at": "2016-05-20T11:35:45-05:00",
"hooks_count": 14,
"download": {
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/1/downloads/latest",
"state": "not_started",
"downloaded_at": "2016-05-26T07:42:53-05:00",
"message": null
}
},
{
"id": 2,
"name": "DevTools Hook Env",
"image_url": "https://my_file_server/path/to/devtools_env.tar.gz",
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2",
"html_url": "https://github.example.com/admin/pre-receive-environments/2",
"default_environment": false,
"created_at": "2016-05-20T11:35:45-05:00",
"hooks_count": 1,
"download": {
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2/downloads/latest",
"state": "success",
"downloaded_at": "2016-05-26T07:42:53-05:00",
"message": null
}
}
]
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
post /admin/pre-receive-environments
Amostras de código
Shell
curl \
-X POST \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/admin/pre-receive-environments \
-d '{"name":"name","image_url":"image_url"}'
JavaScript (@octokit/core.js)
await octokit.request('POST /admin/pre-receive-environments', {
name: 'name',
image_url: 'image_url',
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 201 Created
{
"id": 2,
"name": "DevTools Hook Env",
"image_url": "https://my_file_server/path/to/devtools_env.tar.gz",
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2",
"html_url": "https://github.example.com/admin/pre-receive-environments/2",
"default_environment": false,
"created_at": "2016-05-20T11:35:45-05:00",
"hooks_count": 1,
"download": {
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2/downloads/latest",
"state": "not_started",
"downloaded_at": null,
"message": null
}
}
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
get /admin/pre-receive-environments/{pre_receive_environment_id}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
pre_receive_environment_id |
integer | path |
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/admin/pre-receive-environments/42
JavaScript (@octokit/core.js)
await octokit.request('GET /admin/pre-receive-environments/{pre_receive_environment_id}', {
pre_receive_environment_id: 42,
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 200 OK
{
"id": 2,
"name": "DevTools Hook Env",
"image_url": "https://my_file_server/path/to/devtools_env.tar.gz",
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2",
"html_url": "https://github.example.com/admin/pre-receive-environments/2",
"default_environment": false,
"created_at": "2016-05-20T11:35:45-05:00",
"hooks_count": 1,
"download": {
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2/downloads/latest",
"state": "success",
"downloaded_at": "2016-05-26T07:42:53-05:00",
"message": null
}
}
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
Update a pre-receive environment
You cannot modify the default environment. If you attempt to modify the default environment, you will receive a 422 Unprocessable Entity response.
patch /admin/pre-receive-environments/{pre_receive_environment_id}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
pre_receive_environment_id |
integer | path | |
name |
string | body |
This pre-receive environment's new name. |
image_url |
string | body |
URL from which to download a tarball of this environment. |
Amostras de código
Shell
curl \
-X PATCH \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/admin/pre-receive-environments/42 \
-d '{"name":"name"}'
JavaScript (@octokit/core.js)
await octokit.request('PATCH /admin/pre-receive-environments/{pre_receive_environment_id}', {
pre_receive_environment_id: 42,
name: 'name',
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 200 OK
{
"id": 2,
"name": "DevTools Hook Env",
"image_url": "https://my_file_server/path/to/devtools_env.tar.gz",
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2",
"html_url": "https://github.example.com/admin/pre-receive-environments/2",
"default_environment": false,
"created_at": "2016-05-20T11:35:45-05:00",
"hooks_count": 1,
"download": {
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2/downloads/latest",
"state": "success",
"downloaded_at": "2016-05-26T07:42:53-05:00",
"message": null
}
}
Client errors
Status: 422 Unprocessable Entity
{
"message": "Validation Failed",
"errors": [
{
"resource": "PreReceiveEnvironment",
"code": "custom",
"message": "Cannot modify or delete the default environment"
}
]
}
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
Delete a pre-receive environment
If you attempt to delete an environment that cannot be deleted, you will receive a 422 Unprocessable Entity response.
The possible error messages are:
- Cannot modify or delete the default environment
- Cannot delete environment that has hooks
- Cannot delete environment when download is in progress
delete /admin/pre-receive-environments/{pre_receive_environment_id}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
pre_receive_environment_id |
integer | path |
Amostras de código
Shell
curl \
-X DELETE \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/admin/pre-receive-environments/42
JavaScript (@octokit/core.js)
await octokit.request('DELETE /admin/pre-receive-environments/{pre_receive_environment_id}', {
pre_receive_environment_id: 42,
mediaType: {
previews: [
'eye-scream'
]
}
})
Default Response
Status: 204 No Content
Client errors
Status: 422 Unprocessable Entity
{
"message": "Validation Failed",
"errors": [
{
"resource": "PreReceiveEnvironment",
"code": "custom",
"message": "Cannot modify or delete the default environment"
}
]
}
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
Start a pre-receive environment download
Triggers a new download of the environment tarball from the environment's image_url. When the download is finished, the newly downloaded tarball will overwrite the existing environment.
If a download cannot be triggered, you will receive a 422 Unprocessable Entity response.
The possible error messages are:
- Cannot modify or delete the default environment
- Can not start a new download when a download is in progress
post /admin/pre-receive-environments/{pre_receive_environment_id}/downloads
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
pre_receive_environment_id |
integer | path |
Amostras de código
Shell
curl \
-X POST \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/admin/pre-receive-environments/42/downloads
JavaScript (@octokit/core.js)
await octokit.request('POST /admin/pre-receive-environments/{pre_receive_environment_id}/downloads', {
pre_receive_environment_id: 42,
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 202 Accepted
{
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/3/downloads/latest",
"state": "not_started",
"downloaded_at": null,
"message": null
}
Client errors
Status: 422 Unprocessable Entity
{
"message": "Validation Failed",
"errors": [
{
"resource": "PreReceiveEnvironment",
"code": "custom",
"message": "Can not start a new download when a download is in progress"
}
]
}
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
Get the download status for a pre-receive environment
In addition to seeing the download status at the "Get a pre-receive environment" endpoint, there is also this separate endpoint for just the download status.
get /admin/pre-receive-environments/{pre_receive_environment_id}/downloads/latest
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
pre_receive_environment_id |
integer | path |
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/admin/pre-receive-environments/42/downloads/latest
JavaScript (@octokit/core.js)
await octokit.request('GET /admin/pre-receive-environments/{pre_receive_environment_id}/downloads/latest', {
pre_receive_environment_id: 42,
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 200 OK
{
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/3/downloads/latest",
"state": "success",
"downloaded_at": "2016-05-26T07:42:53-05:00",
"message": null
}
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
Hooks pre-receive
A API de hooks pre-receive permite que você crie, liste, atualize e apague hooks pre-receive. Só está disponível para administradores do site autenticados. Usuários normais receberão uma mensagem 404 se tentarem acessá-la.
Atributos do objeto
Hook pre-receive
| Nome | Tipo | Descrição |
|---|---|---|
name | string | O nome do hook. |
script | string | O script que o hook executa. |
script_repository | objeto | O repositório do GitHub onde o script é mantido. |
ambiente | objeto | O ambiente de pre-receive onde o script é executado. |
enforcement | string | O estado de aplicação para este hook. |
allow_downstream_configuration | boolean | Se a aplicação pode ser substituída no nível da organização ou do repositório. |
Os valores possíveis para aplicação são habilitado, desabilitado etestando. desabilitado indica que o hook pre-receive não será executado. habilitado indica que será executado e rejeitará quaisquer pushes que resultem em um status diferente de zero. testando significa que o script será executado, mas não fará com que quaisquer pushes sejam rejeitados.
get /admin/pre-receive-hooks
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
per_page |
integer | query | Results per page (max 100) |
page |
integer | query | Page number of the results to fetch. |
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/admin/pre-receive-hooks
JavaScript (@octokit/core.js)
await octokit.request('GET /admin/pre-receive-hooks', {
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 200 OK
[
{
"id": 1,
"name": "Check Commits",
"enforcement": "disabled",
"script": "scripts/commmit_check.sh",
"script_repository": {
"id": 595,
"full_name": "DevIT/hooks",
"url": "https://github.example.com/api/v3/repos/DevIT/hooks",
"html_url": "https://github.example.com/DevIT/hooks"
},
"environment": {
"id": 2,
"name": "DevTools Hook Env",
"image_url": "https://my_file_server/path/to/devtools_env.tar.gz",
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2",
"html_url": "https://github.example.com/admin/pre-receive-environments/2",
"default_environment": false,
"created_at": "2016-05-20T11:35:45-05:00",
"hooks_count": 1,
"download": {
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2/downloads/latest",
"state": "success",
"downloaded_at": "2016-05-26T07:42:53-05:00",
"message": null
}
},
"allow_downstream_configuration": false
}
]
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
post /admin/pre-receive-hooks
Amostras de código
Shell
curl \
-X POST \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/admin/pre-receive-hooks \
-d '{"name":"name","script":"script","script_repository":{},"environment":{}}'
JavaScript (@octokit/core.js)
await octokit.request('POST /admin/pre-receive-hooks', {
name: 'name',
script: 'script',
script_repository: {},
environment: {},
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 201 Created
{
"id": 1,
"name": "Check Commits",
"enforcement": "disabled",
"script": "scripts/commmit_check.sh",
"script_repository": {
"id": 595,
"full_name": "DevIT/hooks",
"url": "https://github.example.com/api/v3/repos/DevIT/hooks",
"html_url": "https://github.example.com/DevIT/hooks"
},
"environment": {
"id": 2,
"name": "DevTools Hook Env",
"image_url": "https://my_file_server/path/to/devtools_env.tar.gz",
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2",
"html_url": "https://github.example.com/admin/pre-receive-environments/2",
"default_environment": false,
"created_at": "2016-05-20T11:35:45-05:00",
"hooks_count": 1,
"download": {
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2/downloads/latest",
"state": "success",
"downloaded_at": "2016-05-26T07:42:53-05:00",
"message": null
}
},
"allow_downstream_configuration": false
}
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
get /admin/pre-receive-hooks/{pre_receive_hook_id}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
pre_receive_hook_id |
integer | path |
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/admin/pre-receive-hooks/42
JavaScript (@octokit/core.js)
await octokit.request('GET /admin/pre-receive-hooks/{pre_receive_hook_id}', {
pre_receive_hook_id: 42,
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 200 OK
{
"id": 1,
"name": "Check Commits",
"enforcement": "disabled",
"script": "scripts/commmit_check.sh",
"script_repository": {
"id": 595,
"full_name": "DevIT/hooks",
"url": "https://github.example.com/api/v3/repos/DevIT/hooks",
"html_url": "https://github.example.com/DevIT/hooks"
},
"environment": {
"id": 2,
"name": "DevTools Hook Env",
"image_url": "https://my_file_server/path/to/devtools_env.tar.gz",
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2",
"html_url": "https://github.example.com/admin/pre-receive-environments/2",
"default_environment": false,
"created_at": "2016-05-20T11:35:45-05:00",
"hooks_count": 1,
"download": {
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2/downloads/latest",
"state": "success",
"downloaded_at": "2016-05-26T07:42:53-05:00",
"message": null
}
},
"allow_downstream_configuration": false
}
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
patch /admin/pre-receive-hooks/{pre_receive_hook_id}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
pre_receive_hook_id |
integer | path | |
name |
string | body |
The name of the hook. |
script |
string | body |
The script that the hook runs. |
script_repository |
object | body |
The GitHub repository where the script is kept. |
environment |
object | body |
The pre-receive environment where the script is executed. |
enforcement |
string | body |
The state of enforcement for this hook. |
allow_downstream_configuration |
boolean | body |
Whether enforcement can be overridden at the org or repo level. |
Amostras de código
Shell
curl \
-X PATCH \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/admin/pre-receive-hooks/42 \
-d '{"name":"name"}'
JavaScript (@octokit/core.js)
await octokit.request('PATCH /admin/pre-receive-hooks/{pre_receive_hook_id}', {
pre_receive_hook_id: 42,
name: 'name',
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 200 OK
{
"id": 1,
"name": "Check Commits",
"enforcement": "disabled",
"script": "scripts/commmit_check.sh",
"script_repository": {
"id": 595,
"full_name": "DevIT/hooks",
"url": "https://github.example.com/api/v3/repos/DevIT/hooks",
"html_url": "https://github.example.com/DevIT/hooks"
},
"environment": {
"id": 1,
"name": "Default",
"image_url": "githubenterprise://internal",
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/1",
"html_url": "https://github.example.com/admin/pre-receive-environments/1",
"default_environment": true,
"created_at": "2016-05-20T11:35:45-05:00",
"hooks_count": 1,
"download": {
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/1/downloads/latest",
"state": "success",
"downloaded_at": "2016-05-26T07:42:53-05:00",
"message": null
}
},
"allow_downstream_configuration": true
}
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
delete /admin/pre-receive-hooks/{pre_receive_hook_id}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
pre_receive_hook_id |
integer | path |
Amostras de código
Shell
curl \
-X DELETE \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/admin/pre-receive-hooks/42
JavaScript (@octokit/core.js)
await octokit.request('DELETE /admin/pre-receive-hooks/{pre_receive_hook_id}', {
pre_receive_hook_id: 42,
mediaType: {
previews: [
'eye-scream'
]
}
})
Default Response
Status: 204 No Content
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
Hooks pre-receive do repositório
A API de Hooks pre-receive do Repositório permite que você veja e modifique a aplicação dos hooks pre-receive disponíveis para um repositório.
Atributos do objeto
| Nome | Tipo | Descrição |
|---|---|---|
name | string | O nome do hook. |
enforcement | string | O estado de aplicação para o hook neste repositório. |
configuration_url | string | URL para o ponto de extremidade em que a aplicação é definida. |
Os valores possíveis para aplicação são habilitado, desabilitado etestando. desabilitado indica que o hook pre-receive não será executado. habilitado indica que será executado e rejeitará quaisquer pushes que resultem em um estado diferente de zero. testando significa que o script será executado, mas não fará com que quaisquer pushes sejam rejeitados.
configuration_url pode ser um link para este repositório, seu proprietário da organização ou configuração global. A autorização para acessar o ponto de extremidade no configuration_url é determinada no nível de proprietário ou administrador do site.
List pre-receive hooks for a repository
List all pre-receive hooks that are enabled or testing for this repository as well as any disabled hooks that are allowed to be enabled at the repository level. Pre-receive hooks that are disabled at a higher level and are not configurable will not be listed.
get /repos/{owner}/{repo}/pre-receive-hooks
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
owner |
string | path | |
repo |
string | path | |
per_page |
integer | query | Results per page (max 100) |
page |
integer | query | Page number of the results to fetch. |
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/repos/octocat/hello-world/pre-receive-hooks
JavaScript (@octokit/core.js)
await octokit.request('GET /repos/{owner}/{repo}/pre-receive-hooks', {
owner: 'octocat',
repo: 'hello-world',
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 200 OK
[
{
"id": 42,
"name": "Check Commits",
"enforcement": "disabled",
"configuration_url": "https://github.example.com/api/v3/orgs/octocat/pre-receive-hooks/42"
}
]
Notes
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
get /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
owner |
string | path | |
repo |
string | path | |
pre_receive_hook_id |
integer | path |
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/repos/octocat/hello-world/pre-receive-hooks/42
JavaScript (@octokit/core.js)
await octokit.request('GET /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}', {
owner: 'octocat',
repo: 'hello-world',
pre_receive_hook_id: 42,
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 200 OK
{
"id": 42,
"name": "Check Commits",
"enforcement": "disabled",
"configuration_url": "https://github.example.com/api/v3/orgs/octocat/pre-receive-hooks/42"
}
Notes
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
Update pre-receive hook enforcement for a repository
For pre-receive hooks which are allowed to be configured at the repo level, you can set enforcement
patch /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
owner |
string | path | |
repo |
string | path | |
pre_receive_hook_id |
integer | path | |
enforcement |
string | body |
The state of enforcement for the hook on this repository. |
Amostras de código
Shell
curl \
-X PATCH \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/repos/octocat/hello-world/pre-receive-hooks/42 \
-d '{"enforcement":"enforcement"}'
JavaScript (@octokit/core.js)
await octokit.request('PATCH /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}', {
owner: 'octocat',
repo: 'hello-world',
pre_receive_hook_id: 42,
enforcement: 'enforcement',
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 200 OK
{
"id": 42,
"name": "Check Commits",
"enforcement": "enabled",
"configuration_url": "https://github.example.com/api/v3/repos/octocat/hello-world/pre-receive-hooks/42"
}
Notes
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
Remove pre-receive hook enforcement for a repository
Deletes any overridden enforcement on this repository for the specified hook.
Responds with effective values inherited from owner and/or global level.
delete /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
This API is under preview and subject to change. Ver aviso de pré-visualização |
owner |
string | path | |
repo |
string | path | |
pre_receive_hook_id |
integer | path |
Amostras de código
Shell
curl \
-X DELETE \
-H "Accept: application/vnd.github.eye-scream-preview+json" \
https://api.github.com/repos/octocat/hello-world/pre-receive-hooks/42
JavaScript (@octokit/core.js)
await octokit.request('DELETE /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}', {
owner: 'octocat',
repo: 'hello-world',
pre_receive_hook_id: 42,
mediaType: {
previews: [
'eye-scream'
]
}
})
Default response
Status: 200 OK
{
"id": 42,
"name": "Check Commits",
"enforcement": "disabled",
"configuration_url": "https://github.example.com/api/v3/orgs/octocat/pre-receive-hooks/42"
}
Notes
Aviso de pré-visualização
APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.
To access the API you must provide a custom media type in the Accept header:
application/vnd.github.eye-scream-preview
☝️ Este cabeçalho é obrigatório.
Pesquisar nos índices
A API de pesquisa nos índices permite que você faça fila com uma variedade de tarefas de indexação de pesquisa. Só está disponível para administradores do site autenticados. Usuários normais receberão uma mensagem 404 se tentarem acessá-la.
Create an indexing job
You can index the following targets (replace {owner} with the name of a user or organization account and {repository} with the name of a repository):
| Target | Description |
|---|---|
{owner} | A user or organization account. |
{owner}/{repository} | A repository. |
{owner}/* | All of a user or organization's repositories. |
{owner}/{repository}/issues | All the issues in a repository. |
{owner}/*/issues | All the issues in all of a user or organization's repositories. |
{owner}/{repository}/code | All the source code in a repository. |
{owner}/*/code | All the source code in all of a user or organization's repositories. |
post /staff/indexing_jobs
Amostras de código
Shell
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/staff/indexing_jobs \
-d '{"target":"target"}'
JavaScript (@octokit/core.js)
await octokit.request('POST /staff/indexing_jobs', {
target: 'target'
})
Response
Status: 202 Accepted
{
"message": "Repository 'kansaichris/japaning' has been added to the indexing queue"
}
Usuários
A API de Administração do Usuário permite que você promova, rebaixe, suspenda, e cancele a suspensão dos usuários em um aplicativo de GitHub Enterprise Server. Só está disponível para administradores do site autenticados. Usuários normais receberão uma mensagem 403 se tentarem acessá-la.
get /admin/keys
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
per_page |
integer | query | Results per page (max 100) |
page |
integer | query | Page number of the results to fetch. |
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/admin/keys
JavaScript (@octokit/core.js)
await octokit.request('GET /admin/keys')
Default response
Status: 200 OK
[
{
"key_id": "012345678912345678",
"key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234",
"user_id": 232,
"repository_id": null
},
{
"key_id": "012345678912345678",
"key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234",
"user_id": null,
"repository_id": 2333,
"id": "2",
"url": "https://api.github.com/repos/octocat/Hello-World/keys/2"
}
]
delete /admin/keys/{key_ids}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
key_ids |
string | path |
Amostras de código
Shell
curl \
-X DELETE \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/admin/keys/KEY_IDS
JavaScript (@octokit/core.js)
await octokit.request('DELETE /admin/keys/{key_ids}', {
key_ids: 'key_ids'
})
Default Response
Status: 204 No Content
List personal access tokens
Lists personal access tokens for all users, including admin users.
get /admin/tokens
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
per_page |
integer | query | Results per page (max 100) |
page |
integer | query | Page number of the results to fetch. |
Amostras de código
Shell
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/admin/tokens
JavaScript (@octokit/core.js)
await octokit.request('GET /admin/tokens')
Default response
Status: 200 OK
[
{
"id": 2,
"url": "https://enterprise.octocat.com/api/v3/authorizations/2",
"app": {
"name": "My personal access token",
"url": "https://developer.github.com/enterprise/v3/enterprise-admin/users/#list-personal-access-tokens",
"client_id": "00000000000000000000"
},
"token": "",
"hashed_token": "23cffb2fab1b0a62747863eba88cb9327e561f2f7a0c8661c0d9b83146cb8d45",
"token_last_eight": "848f9f8a",
"note": "My personal access token",
"note_url": null,
"created_at": "2019-04-24T21:49:02Z",
"updated_at": "2019-04-24T21:49:02Z",
"scopes": [
"admin:business",
"admin:gpg_key",
"admin:org",
"admin:org_hook",
"admin:pre_receive_hook",
"admin:public_key",
"admin:repo_hook",
"delete_repo",
"gist",
"notifications",
"repo",
"user",
"write:discussion"
],
"fingerprint": null
}
]
Delete a personal access token
Deletes a personal access token. Returns a 403 - Forbidden status when a personal access token is in use. For example, if you access this endpoint with the same personal access token that you are trying to delete, you will receive this error.
delete /admin/tokens/{token_id}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
token_id |
integer | path |
Amostras de código
Shell
curl \
-X DELETE \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/admin/tokens/42
JavaScript (@octokit/core.js)
await octokit.request('DELETE /admin/tokens/{token_id}', {
token_id: 42
})
Default Response
Status: 204 No Content
Create a user
If an external authentication mechanism is used, the login name should match the login name in the external system. If you are using LDAP authentication, you should also update the LDAP mapping for the user.
The login name will be normalized to only contain alphanumeric characters or single hyphens. For example, if you send "octo_cat" as the login, a user named "octo-cat" will be created.
If the login name or email address is already associated with an account, the server will return a 422 response.
post /admin/users
Amostras de código
Shell
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/admin/users \
-d '{"login":"login"}'
JavaScript (@octokit/core.js)
await octokit.request('POST /admin/users', {
login: 'login'
})
Default response
Status: 201 Created
{
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": false
}
patch /admin/users/{username}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
username |
string | path | |
login |
string | body |
Required. The user's new username. |
Amostras de código
Shell
curl \
-X PATCH \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/admin/users/USERNAME \
-d '{"login":"login"}'
JavaScript (@octokit/core.js)
await octokit.request('PATCH /admin/users/{username}', {
username: 'username',
login: 'login'
})
Response
Status: 202 Accepted
{
"message": "Job queued to rename user. It may take a few minutes to complete.",
"url": "https://api.github.com/user/1"
}
Delete a user
Deleting a user will delete all their repositories, gists, applications, and personal settings. Suspending a user is often a better option.
You can delete any user account except your own.
delete /admin/users/{username}
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
username |
string | path |
Amostras de código
Shell
curl \
-X DELETE \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/admin/users/USERNAME
JavaScript (@octokit/core.js)
await octokit.request('DELETE /admin/users/{username}', {
username: 'username'
})
Default Response
Status: 204 No Content
post /admin/users/{username}/authorizations
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
username |
string | path | |
scopes |
array of strings | body |
A list of scopes. |
Amostras de código
Shell
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/admin/users/USERNAME/authorizations \
-d '{"scopes":["scopes"]}'
JavaScript (@octokit/core.js)
await octokit.request('POST /admin/users/{username}/authorizations', {
username: 'username',
scopes: [
'scopes'
]
})
Default response
Status: 201 Created
{
"id": 1,
"url": "https://api.github.com/authorizations/1",
"scopes": [
"public_repo"
],
"token": "abcdefgh12345678",
"token_last_eight": "12345678",
"hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8",
"app": {
"url": "http://my-github-app.com",
"name": "my github app",
"client_id": "abcde12345fghij67890"
},
"note": "optional note",
"note_url": "http://optional/note/url",
"updated_at": "2011-09-06T20:39:23Z",
"created_at": "2011-09-06T17:26:27Z",
"fingerprint": "jklmnop12345678"
}
delete /admin/users/{username}/authorizations
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
username |
string | path |
Amostras de código
Shell
curl \
-X DELETE \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/admin/users/USERNAME/authorizations
JavaScript (@octokit/core.js)
await octokit.request('DELETE /admin/users/{username}/authorizations', {
username: 'username'
})
Default Response
Status: 204 No Content
Promote a user to be a site administrator
Note that you'll need to set Content-Length to zero when calling out to this endpoint. For more information, see "HTTP verbs."
put /users/{username}/site_admin
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
username |
string | path |
Amostras de código
Shell
curl \
-X PUT \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/users/USERNAME/site_admin
JavaScript (@octokit/core.js)
await octokit.request('PUT /users/{username}/site_admin', {
username: 'username'
})
Default Response
Status: 204 No Content
Demote a site administrator
You can demote any user account except your own.
delete /users/{username}/site_admin
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
username |
string | path |
Amostras de código
Shell
curl \
-X DELETE \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/users/USERNAME/site_admin
JavaScript (@octokit/core.js)
await octokit.request('DELETE /users/{username}/site_admin', {
username: 'username'
})
Default Response
Status: 204 No Content
Suspend a user
If your GitHub instance uses LDAP Sync with Active Directory LDAP servers, Active Directory LDAP-authenticated users cannot be suspended through this API. If you attempt to suspend an Active Directory LDAP-authenticated user through this API, it will return a 403 response.
You can suspend any user account except your own.
Note that, if you choose not to pass any parameters, you'll need to set Content-Length to zero when calling out to this endpoint. For more information, see "HTTP verbs."
put /users/{username}/suspended
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
username |
string | path | |
reason |
string | body |
The reason the user is being suspended. This message will be logged in the audit log. If you don't provide a |
Amostras de código
Shell
curl \
-X PUT \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/users/USERNAME/suspended \
-d '{"reason":"reason"}'
JavaScript (@octokit/core.js)
await octokit.request('PUT /users/{username}/suspended', {
username: 'username',
reason: 'reason'
})
Default Response
Status: 204 No Content
Unsuspend a user
If your GitHub instance uses LDAP Sync with Active Directory LDAP servers, this API is disabled and will return a 403 response. Active Directory LDAP-authenticated users cannot be unsuspended using the API.
delete /users/{username}/suspended
Parâmetros
| Name | Type | In | Description |
|---|---|---|---|
accept |
string | header |
Setting to |
username |
string | path | |
reason |
string | body |
The reason the user is being unsuspended. This message will be logged in the audit log. If you don't provide a |
Amostras de código
Shell
curl \
-X DELETE \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/users/USERNAME/suspended \
-d '{"reason":"reason"}'
JavaScript (@octokit/core.js)
await octokit.request('DELETE /users/{username}/suspended', {
username: 'username',
reason: 'reason'
})
Default Response
Status: 204 No Content