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.

Autenticando com o "GITHUB_TOKEN"

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

GitHub Actions está disponível com GitHub Free, GitHub Pro, GitHub Free para organizações, GitHub Team, GitHub Enterprise Cloud e GitHub One. O GitHub Actions não está disponível para repositórios privados de contas que utilizam planos antigos por-repositório. Para obter mais informações, consulte os "produtos do GitHub".

Neste artigo

Qualquer pessoa com acesso de gravar em um repositório pode criar, ler e usar secredos.

Sobre o segredo GITHUB_TOKEN

O GitHub cria automaticamente um segredo GITHUB_TOKEN para uso no 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.

The token is also available in the github.token context. For more information, see "Context and expression syntax for GitHub Actions."

Usar o GITHUB_TOKEN em um fluxo de trabalho

To use the GITHUB_TOKEN secret, you must reference it in your workflow file. Usar um token pode compreender disponibilizar o token como uma entrada para uma ação que o exige ou fazer solicitações de API GitHub autenticadas.

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 de passar um GITHUB_TOKEN como uma entrada

This example workflow uses the labeler action, which requires the GITHUB_TOKEN as the value for the repo-token input parameter:

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

Exemplo de acessar o API REST

You can use the GITHUB_TOKEN to make authenticated API calls. This example workflow creates an issue using the GitHub REST API:

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 https://api.github.com/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 }}_."
          }'

Permissões para o GITHUB_TOKEN

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

PermissãoTipo 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".

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato