Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

GitHub Enterprise administration

Neste artigo

Did this doc help you?

You can use these GitHub Enterprise Cloud endpoints to administer your enterprise account.

Endpoint URLs

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 site_admin escopo OAuth quando usados com endpoints específicos da Enterprise.

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.

Version information

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: 2.20.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:

TypeDescription
issuesThe number of open and closed issues.
hooksThe number of active and inactive hooks.
milestonesThe number of open and closed milestones.
orgsThe number of organizations, teams, team members, and disabled organizations.
commentsThe number of comments on issues, pull requests, commits, and gists.
pagesThe number of GitHub Pages sites.
usersThe number of suspended and admin users.
gistsThe number of private and public gists.
pullsThe number of merged, mergeable, and unmergeable pull requests.
reposThe number of organization-owned repositories, root repositories, forks, pushed commits, and wikis.
allAll 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 application/vnd.github.v3+json is recommended

type string path

Amostras de código

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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.
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://{hostname}/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.
name string body

Required. Must be passed as "web".

config object body

Required. Key/value pairs to provide settings for this webhook.

Properties of the 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 json and form. The default is form.

secret (string)

If provided, the secret will be used as the key to generate the HMAC hex digest value in the X-Hub-Signature header.

insecure_ssl (string)

Determines whether the SSL certificate of the host for url will be verified when delivering payloads. Supported values include 0 (verification is performed) and 1 (verification is not performed). The default is 0. We strongly recommend not setting this to 1 as you are subject to man-in-the-middle and other attacks.

events array of strings body

The events that trigger this webhook. A global webhook can be triggered by user and organization events. Default: user and organization.

active boolean body

Determines if notifications are sent when the webhook is triggered. Set to true to send notifications.

Default: true

Amostras de código

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.superpro-preview+json" \
  https://{hostname}/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.
hook_id integer path

Amostras de código

Shell
curl \
  -H "Accept: application/vnd.github.superpro-preview+json" \
  https://{hostname}/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.
hook_id integer path
config object body

Key/value pairs to provide settings for this webhook.

Properties of the 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 json and form. The default is form.

secret (string)

If provided, the secret will be used as the key to generate the HMAC hex digest value in the X-Hub-Signature header.

insecure_ssl (string)

Determines whether the SSL certificate of the host for url will be verified when delivering payloads. Supported values include 0 (verification is performed) and 1 (verification is not performed). The default is 0. We strongly recommend not setting this to 1 as you are subject to man-in-the-middle and other attacks.

events array of strings body

The events that trigger this webhook. A global webhook can be triggered by user and organization events. Default: user and organization.

active boolean body

Determines if notifications are sent when the webhook is triggered. Set to true to send notifications.

Default: true

Amostras de código

Shell
curl \
  -X PATCH \
  -H "Accept: application/vnd.github.superpro-preview+json" \
  https://{hostname}/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.
hook_id integer path

Amostras de código

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.superpro-preview+json" \
  https://{hostname}/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.
hook_id integer path

Amostras de código

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.superpro-preview+json" \
  https://{hostname}/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 application/vnd.github.v3+json is recommended

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://{hostname}/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 application/vnd.github.v3+json is recommended

team_id integer path

Amostras de código

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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 application/vnd.github.v3+json is recommended

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://{hostname}/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 application/vnd.github.v3+json is recommended

username string path

Amostras de código

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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

Parâmetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended

Amostras de código

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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:

StatusDescription
PENDINGThe job has not started yet
CONFIGURINGThe job is running
DONEThe job has finished correctly
FAILEDThe job has finished unexpectedly
get /setup/api/configcheck

Parâmetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended

Amostras de código

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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

Parâmetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended

Amostras de código

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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

Parâmetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended

Amostras de código

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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

Parâmetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended

maintenance string body

Required. A JSON string with the attributes enabled and when.

Amostras de código

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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

Parâmetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended

Amostras de código

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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

Parâmetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended

settings string body

Required. A JSON string with the new settings. Note that you only need to pass the specific settings you want to modify.

Amostras de código

Shell
curl \
  -X PUT \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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

Parâmetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended

Amostras de código

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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

Parâmetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended

authorized_key string body

Required. The path to the public SSH key.

Amostras de código

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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

Parâmetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended

authorized_key string body

Required. The path to the public SSH key.

Amostras de código

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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 Enterprise Server license

When you boot a GitHub Enterprise Server 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 Enterprise Server instance must have a password set. This can be accomplished two ways:

  1. If you're working directly with the API before accessing the web interface, you must pass in the password parameter to set your password.
  2. 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

Parâmetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended

license string body

Required. The content of your .ghl license file.

password string body

You must provide a password only if you are uploading your license for the first time. If you previously set a password through the web interface, you don't need this parameter.

settings string body

An optional JSON string containing the installation settings.

Amostras de código

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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

Parâmetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended

license string body

The content of your new .ghl license file.

Amostras de código

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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

Parâmetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended

login string body

Required. The organization's username.

admin string body

Required. The login of the user who will manage this organization.

profile_name string body

The organization's display name.

Amostras de código

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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 application/vnd.github.v3+json is recommended

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://{hostname}/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.

Object attributes

NomeTipoDescrição
namestringO nome do hook.
enforcementstringThe state of enforcement for the hook on this repository.
allow_downstream_configurationbooleanWhether repositories can override enforcement.
configuration_urlstringURL for the endpoint where enforcement is set.

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://{hostname}/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://{hostname}/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://{hostname}/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://{hostname}/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.

Object attributes

Pre-receive Environment

NomeTipoDescrição
namestringThe name of the environment as displayed in the UI.
image_urlstringURL to the tarball that will be downloaded and extracted.
default_environmentbooleanWhether this is the default environment that ships with GitHub Enterprise Server.
downloadobjetoThis environment's download status.
hooks_countinteiroThe number of pre-receive hooks that use this environment.

Pre-receive Environment Download

NomeTipoDescrição
estadostringThe state of the most recent download.
downloaded_atstringThe time when the most recent download started.
mensagemstringOn failure, this will have any error messages produced.

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://{hostname}/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

Parâmetros

Name Type In Description
accept string header

This API is under preview and subject to change.

Ver aviso de pré-visualização.
name string body

Required. The new pre-receive environment's name.

image_url string body

Required. URL from which to download a tarball of this environment.

Amostras de código

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.eye-scream-preview+json" \
  https://{hostname}/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://{hostname}/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://{hostname}/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://{hostname}/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://{hostname}/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://{hostname}/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.

Object attributes

Pre-receive Hook

NomeTipoDescrição
namestringO nome do hook.
scriptstringO script que o hook executa.
script_repositoryobjetoO repositório do GitHub onde o script é mantido.
ambienteobjetoO ambiente de pre-receive onde o script é executado.
enforcementstringO estado de aplicação para este hook.
allow_downstream_configurationbooleanSe 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://{hostname}/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

Parâmetros

Name Type In Description
accept string header

This API is under preview and subject to change.

Ver aviso de pré-visualização.
name string body

Required. The name of the hook.

script string body

Required. The script that the hook runs.

script_repository object body

Required. The GitHub repository where the script is kept.

environment object body

Required. The pre-receive environment where the script is executed.

enforcement string body

The state of enforcement for this hook. default: disabled

allow_downstream_configuration boolean body

Whether enforcement can be overridden at the org or repo level. default: false

Amostras de código

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.eye-scream-preview+json" \
  https://{hostname}/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://{hostname}/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://{hostname}/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://{hostname}/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.

Object attributes

NomeTipoDescrição
namestringO nome do hook.
enforcementstringThe state of enforcement for the hook on this repository.
configuration_urlstringURL for the endpoint where enforcement is set.

Os valores possíveis para aplicação são habilitado, desabilitado etestando. desabilitado indica que o hook pre-receive não será executado. enabled indicates it will run and reject any pushes that result in a non-zero status. testando significa que o script será executado, mas não fará com que quaisquer pushes sejam rejeitados.

configuration_url may be a link to this repository, it's organization owner or global configuration. Authorization to access the endpoint at configuration_url is determined at the owner or site admin level.

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://{hostname}/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://{hostname}/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://{hostname}/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://{hostname}/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.

Search indexing

The Search Indexing API allows you to queue up a variety of search indexing tasks. 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):

TargetDescription
{owner}A user or organization account.
{owner}/{repository}A repository.
{owner}/*All of a user or organization's repositories.
{owner}/{repository}/issuesAll the issues in a repository.
{owner}/*/issuesAll the issues in all of a user or organization's repositories.
{owner}/{repository}/codeAll the source code in a repository.
{owner}/*/codeAll the source code in all of a user or organization's repositories.
post /staff/indexing_jobs

Parâmetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended

target string body

Required. A string representing the item to index.

Amostras de código

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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

The User Administration API allows you to promote, demote, suspend, and unsuspend users on a GitHub Enterprise Server appliance. 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 application/vnd.github.v3+json is recommended

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://{hostname}/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 application/vnd.github.v3+json is recommended

key_ids string path

Amostras de código

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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 application/vnd.github.v3+json is recommended

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://{hostname}/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 application/vnd.github.v3+json is recommended

token_id integer path

Amostras de código

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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

Parâmetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended

login string body

Required. The user's username.

email string body

Required for built-in authentication. The user's email address. This parameter can be omitted when using CAS, LDAP, or SAML. For details on built-in and centrally-managed authentication, see the the GitHub Enterprise Server authentication guide.

Amostras de código

Shell
curl \
  -X POST \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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 application/vnd.github.v3+json is recommended

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://{hostname}/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 application/vnd.github.v3+json is recommended

username string path

Amostras de código

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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 application/vnd.github.v3+json is recommended

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://{hostname}/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 application/vnd.github.v3+json is recommended

username string path

Amostras de código

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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 application/vnd.github.v3+json is recommended

username string path

Amostras de código

Shell
curl \
  -X PUT \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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 application/vnd.github.v3+json is recommended

username string path

Amostras de código

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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 Enterprise Server 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 application/vnd.github.v3+json is recommended

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 reason, it will default to "Suspended via API by SITE_ADMINISTRATOR", where SITE_ADMINISTRATOR is the person who performed the action.

Amostras de código

Shell
curl \
  -X PUT \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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 Enterprise Server 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 application/vnd.github.v3+json is recommended

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 reason, it will default to "Unsuspended via API by SITE_ADMINISTRATOR", where SITE_ADMINISTRATOR is the person who performed the action.

Amostras de código

Shell
curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  https://{hostname}/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

Did this doc help you?