Esta versão do GitHub Enterprise foi descontinuada em 2021-09-23. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Autenticação automática de token

GitHub fornece um token que você pode usar para autenticar em nome de GitHub Actions.

Observação: GitHub Actions estava disponível para GitHub Enterprise Server 2.22 como um beta limitado. O beta terminou. GitHub Actions está agora geralmente disponível em GitHub Enterprise Server 3.0 ou posterior. Para obter mais informações, consulte as observações sobre a versão GitHub Enterprise Server 3.0.


Observação: Executores hospedados em GitHub não são atualmente compatíveis com GitHub Enterprise Server. Você pode ver mais informações sobre suporte futuro planejado no Itinerário público do GitHub.

Sobre o segredo GITHUB_TOKEN

No início da execução de cada fluxo de trabalho, GitHub cria automaticamente um segredo exclusivo de GITHUB_TOKEN para usar no seu fluxo de trabalho. Você pode usar o GITHUB_TOKEN para autenticar em uma execução de fluxo de trabalho.

Ao habilitar GitHub Actions, GitHub instala um aplicativo GitHub no seu repositório. O segredo GITHUB_TOKEN é um token de acesso de instalação aplicativo GitHub. Você pode usar o token de acesso de instalação para autenticar em nome do aplicativo GitHub instalado no seu repositório. As permissões do token são restritas ao repositório do fluxo de trabalho. Para obter mais informações, consulte "Permissões para o GITHUB_TOKEN".

Antes de iniciar cada trabalho, GitHub busca um token de acesso de instalação para o trabalho. O token expira quando o trabalho é concluído.

O token também está disponível no contexto github.token. Para obter mais informações, consulte "Contextos".

Usar o GITHUB_TOKEN em um fluxo de trabalho

Você pode usar o GITHUB_TOKEN ao usar a sintaxe padrão para fazer referência a segredos: ${{ secrets.GITHUB_TOKEN }}. Exemplos de uso do GITHUB_TOKEN incluem passar o token como uma entrada para uma ação ou usá-lo para fazer uma solicitação da API de GitHub autenticada.

Quando você utiliza o GITHUB_TOKEN do repositório para executar tarefas em nome do aplicativo GitHub Actions , eventos acionados pelo GITHUB_TOKEN não criarão uma nova execução de fluxo de trabalho. Isso impede que você crie execuções de fluxo de trabalho recursivo. Por exemplo, se um fluxo de trabalho executar código pushes usando o GITHUB_TOKEN, um novo fluxo de trabalho não será executado mesmo quando o repositório contém um fluxo de trabalho configurado para ser executado quando ocorrerem eventos push.

Exemplo 1: Passar o GITHUB_TOKEN como uma entrada

Este exemplo de fluxo de trabalho usa a ação etiquetadora, que exige o GITHUB_TOKEN como o valor para o parâmetro de entrada do token:

name: Pull request labeler

on: [ pull_request_target ]

jobs:
  triage:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/labeler@v2
        with:
          repo-token: ${{ secrets.GITHUB_TOKEN }}

Exemplo 2: chamando a API REST

Você pode usar o GITHUB_TOKEN para fazer chamadas de API autenticada. Este exemplo de fluxo de trabalho cria um problema usando a API REST de GitHub:

name: Create issue on commit

on: [ push ]

jobs:
  create_commit:
    runs-on: ubuntu-latest 
    steps:
      - name: Create issue using REST API
        run: |
          curl --request POST \
          --url http(s)://[hostname]/api/v3/repos/${{ github.repository }}/issues \
          --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
          --header 'content-type: application/json' \
          --data '{
            "title": "Automated issue for commit: ${{ github.sha }}",
            "body": "This issue was automatically created by the GitHub Action workflow **${{ github.workflow }}**. \n\n The commit hash was: _${{ github.sha }}_."
            }' \
          --fail

Permissões para o GITHUB_TOKEN

Para obter informações sobre quais os pontos de extremidade da API de Aplicativos do GitHub podem acessar com cada permissão, consulte "Permissões de aplicativo GitHub."

EscopoTipo de acessoAcesso pelos repositórios bifurcados
açõesleitura/gravaçãoleitura
Verificaçõesleitura/gravaçãoleitura
Conteúdoleitura/gravaçãoleitura
Implantaçõesleitura/gravaçãoleitura
Problemasleitura/gravaçãoleitura
metadadosleituraleitura
pacotesleitura/gravaçãoleitura
Pull requestsleitura/gravaçãoleitura
Projetos de repositórioleitura/gravaçãoleitura
Statusleitura/gravaçãoleitura

Se você precisa de um token que exige premissões que não estão disponíveis no GITHUB_TOKEN, é possível criar um token de acesso pessoal e configurá-lo como um segredo no repositório:

  1. Use ou crie um token com as permissões adequadas para o repositório. Para mais informação, consulte "Criando um token de acesso pessoal."
  2. Adicione o token como um segredo no repositório do fluxo de trabalho e refira-se a ele usando a sintaxe ${{ secrets.SECRET_NAME }}. Para obter mais informações, consulte "Criando e usando segredos encriptados".