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.
- Para obter mais informações sobre a atualização para GitHub Enterprise Server 3.0 ou posterior, consulte "Atualizar GitHub Enterprise Server".
- Para obter mais informações sobre a configuração de GitHub Actions após atualizar, consulte a documentação para 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.
Configurar eventos de fluxo de trabalho
É possível configurar fluxos de trabalho para serem executados por um ou mais eventos usando a a sintaxe do fluxo de trabalho on
. Para obter mais informações, consulte "Sintaxe de fluxo de trabalho para o GitHub Actions".
Exemplo: Usando um único evento
# Triggered when code is pushed to any branch in a repository
on: push
Exemplo: Usando uma lista de eventos
# Triggers the workflow on push or pull request events
on: [push, pull_request]
Exemplo: Usando vários eventos com tipos de atividade ou configuração
Se você precisar especificar tipos de atividade ou configuração para um evento, você deve configurar cada evento separadamente. Você deve anexar dois pontos (:
) a todos os eventos, incluindo eventos sem configuração.
on:
# Trigger the workflow on push or pull request,
# but only for the main branch
push:
branches:
- main
pull_request:
branches:
- main
# Also trigger on page_build, as well as release created events
page_build:
release:
types: # This configuration does not affect the page_build event above
- created
Observação: Você não pode acionar novas execuções do fluxo de trabalho usando o GITHUB_TOKEN
. Para obter mais informações, consulte "Acionando novos fluxos de trabalho usando um token de acesso pessoal".
As etapas a seguir ocorrem para acionar a execução de um fluxo de trabalho:
-
Um evento ocorre no seu repositório e o evento resultante tem um commit de SHA e ref de Git associados.
-
É feita uma pesquisa no diretório
.github/workflows
com relação aos arquivos do fluxo de trabalho no SHA ou Git ref associado. Os arquivos do fluxo de trabalho devem estar presentes nesse commit SHA ou no Git ref para serem considerados.Por exemplo, se o evento ocorreu em um determinado branch do repositório, os arquivos do fluxo de trabalho devem estar presentes no repositório desse branch.
-
Os arquivos do fluxo de trabalho para o commit SHA e Git ref são inspecionados, e aciona-se uma nova execução de fluxo de trabalho para quaisquer fluxos de trabalho com valores
on:
que correspondem ao evento de acionado.O fluxo de trabalho é executado no código do seu repositório no mesmo commit SHA e Git ref que acionou o evento. Quando um fluxo de trabalho é executado, o GitHub Enterprise Server configura as variáveis de ambiente
GITHUB_SHA
(commit SHA) eGITHUB_REF
(Git ref) no ambiente do executor. Para obter mais informações, consulte "Usando variáveis de ambiente".
Eventos programados
O evento agenda
permite que você acione um fluxo de trabalho em um horário agendado.
Observação: O evento agendamento
pode ser adiado durante períodos de cargas altas de execuções do fluxo de trabalho de GitHub Actions. Os tempos de carregamento altos incluem o início de cada hora. Para diminuir a probabilidade de atraso, agende o fluxo de trabalho para ser executado em uma parte diferente da hora.
schedule
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
n/a | n/a | Último commit no branch padrão | Branch padrão |
É possível programar um fluxo de trabalho para ser executado em horários de UTC específicos usando a sintaxe de cron POSIX. Fluxos de trabalho agendados executados no último commit no branch padrão ou branch de base. O intervalo mais curto que você pode executar fluxos de trabalho programados é uma vez a cada 5 minutos.
Este exemplo aciona o fluxo de trabalho todos os dias às 17:30 e 17:30 UTC:
on:
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '30 5,17 * * *'
A sintaxe cron tem cinco campos separados por um espaço, e cada campo representa uma unidade de tempo.
┌───────────── minuto (0 - 59)
│ ┌───────────── hora (0 - 23)
│ │ ┌───────────── dia do mês (1 - 31)
│ │ │ ┌───────────── mês (1 - 12 ou JAN-DEZ)
│ │ │ │ ┌───────────── dia da semana (0 - 6 ou DOM-SAB)
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
* * * * *
Você pode usar estes operadores em qualquer um dos cinco campos:
Operador | Descrição | Exemplo |
---|---|---|
* | Qualquer valor | * * * * * executa cada minuto de todos os dias. |
, | Separador de lista de valor | 2,10 4,5 * * * executa no minuto 2 e 10 da quarta e quinta hora de todos os dias. |
- | Intervalo de valores | 0 4-6 * * * executa no minuto 0 da quarta, quinta e sexta hora. |
/ | Valores de etapa | 20/15 * * * * executa a cada 15 minutos começando do miuto 20 até o 59 (minutos 20, 35 e 50). |
Observação: o GitHub Actions não é compatível com a sintaxe não padrão @yearly
, @monthly
, @weekly
, @daily
, @hourly
e @reboot
.
Você pode usar crontab guru para ajudar a gerar a sintaxe cron e confirmar a hora em que ela será executada. Para ajudar você a começar, há também uma lista de exemplos de crontab guru.
As notificações de fluxos de trabalho agendados são enviadas ao usuário que modificou a sintaxe cron no arquivo do fluxo de trabalho. Para obter mais informações, consulte "Notificações para execuções do fluxo de trabalho".
Eventos manuais
Você pode acionar as execuções de fluxo de trabalho manualmente. Para acionar fluxos de trabalho específicos em um repositório, use o evento workflow_dispatch
. Para acionar mais de um fluxo de trabalho em um repositório e criar eventos personalizados e tipos de eventos, use o evento repository_dispatch
.
workflow_dispatch
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
workflow_dispatch | n/a | Último commit de merge no branch GITHUB_REF | Branch que recebeu envio |
É possível configurar as propriedades de entrada definidas por personalização, os valores-padrão de entrada e as entradas obrigatórias para o evento diretamente no seu fluxo de trabalho. Quando o fluxo de trabalho é executado, você pode acessar os valores de entrada no github.event.inputs
contexto. Para obter mais informações, consulte "Contextos".
Você pode acionar manualmente uma execução de fluxo de trabalho usando a API do GitHub Enterprise Server e do GitHub Enterprise Server. Para obter mais informações, consulte "Executando um fluxo de trabalho manualmente."
Ao ativar o evento em GitHub, você poderá fornecer a ref
e quaisquer entradas
diretamente no GitHub. Para obter mais informações, consulte "Usar entradas e saídas com uma ação".
Para acionar o evento do webhook workflow_dispatch
usando a API REST, você deve enviar uma solicitação POST
para um ponto de extremidade da API do GitHub e fornecer o ref
e qualquer entrada
necessária. Para obter mais informações, consulte o ponto de extremidade da API REST "Criar um evento de envio de fluxo de trabalho".
Exemplo
Para usar o evento workflow_dispatch
, é necessário incluí-lo como um gatilho no seu arquivo de fluxo de trabalho do GitHub Actions. O exemplo abaixo só executa o fluxo de trabalho quando é acionado manualmente:
on: workflow_dispatch
Exemplo de configuração de fluxo de trabalho
Este exemplo define o nome `e
entradas dedomésticas e as imprime usando os contextos
github.event.inputs.namee
github.event.inputs.home. Se
home` não for fornecido, será impresso o valor-padrão 'The Octoverse'.
name: Manually triggered workflow
on:
workflow_dispatch:
inputs:
name:
description: 'Person to greet'
required: true
default: 'Mona the Octocat'
home:
description: 'location'
required: false
default: 'The Octoverse'
jobs:
say_hello:
runs-on: ubuntu-latest
steps:
- run: |
echo "Hello ${{ github.event.inputs.name }}!"
eco "- em ${{ github.event.inputs.home }}!"
repository_dispatch
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
repository_dispatch | n/a | Último commit no branch padrão | Branch padrão |
Observação: Este evento acionará apenas um fluxo de trabalho executado se o arquivo do fluxo de trabalho estiver no branch-padrão.
Você pode usar a API do GitHub Enterprise Server para acionar um evento do webhook denominado repository_dispatch
quando quiser acionar um fluxo de trabalho para uma atividade que ocorre fora do GitHub. Para obter mais informações, consulte "Criar um evento de envio do repositório".
Para acionar o evento webhook repository_dispatch
personalizado, envie uma solicitação POST
para um ponto de extremidade da API do GitHub Enterprise Server e forneça um nome de event_type
para descrever o tipo de atividade. Para acionar a execução de um fluxo de trabalho, configure também o fluxo de trabalho para usar o evento repository_dispatch
.
Exemplo
Por padrão, todos os event_types
acionam a execução de um fluxo de trabalho. É possível limitar a execução do fluxo de trabalho quando um valor event_type
específico for enviado na carga do webhook repository_dispatch
. Você define os tipos de eventos enviados na carga repository_dispatch
ao criar o evento de despacho de repositório.
em:
repository_dispatch:
tipos: [opened, deleted]
Eventos webhook
Você pode configurar seu fluxo de trabalho para executar quando eventos de webhook forem gerados em GitHub Enterprise Server. Alguns eventos são acionados por mais de um tipo de atividade. Se mais de um tipo de atividade acionar o evento, especifique quais tipos de atividade ativarão a execução do fluxo de trabalho. Para obter mais informações, consulte "Webhooks.
Nem todos os eventos de webhook acionam fluxos de trabalho. Para obter a lista completa de eventos de webhook disponíveis e suas cargas, consulte "Eventos e cargas de webhook".
check_run
Executa o fluxo de trabalho sempre que o evento check_run
ocorre. Mais de um tipo de atividade aciona este evento. Para obter informações sobre a API REST, consulte "Execuções de verificação".
Observação: Este evento acionará apenas um fluxo de trabalho executado se o arquivo do fluxo de trabalho estiver no branch-padrão.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
check_run | - created - rerequested - completed | Último commit no branch padrão | Branch padrão |
Por padrão, todos os tipos de atividade ativam a execução de um fluxo de trabalho. Você pode limitar a execução do fluxo de trabalho para determinados tipos de atividade usando a palavra-chave types
(tipos). Para obter mais informações, consulte "Sintaxe de fluxo de trabalho para o GitHub Actions".
Por exemplo, você pode executar um fluxo de trabalho quando uma execução de verificação tiver sido rerequested
ou completed
.
on:
check_run:
types: [rerequested, completed]
check_suite
Executa o fluxo de trabalho sempre que o evento check_suite
ocorre. Mais de um tipo de atividade aciona este evento. Para obter informações sobre a API REST, consulte "Conjuntos de verificações".
Observação: Este evento acionará apenas um fluxo de trabalho executado se o arquivo do fluxo de trabalho estiver no branch-padrão.
Observação: Para evitar fluxos de trabalho recursivos, este evento não aciona fluxos de trabalho se o conjunto de verificação foi criado por GitHub Actions.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
check_suite | - completed - requested - rerequested | Último commit no branch padrão | Branch padrão |
Por padrão, todos os tipos de atividade ativam a execução de um fluxo de trabalho. Você pode limitar a execução do fluxo de trabalho para determinados tipos de atividade usando a palavra-chave types
(tipos). Para obter mais informações, consulte "Sintaxe de fluxo de trabalho para o GitHub Actions".
Por exemplo, você pode executar um fluxo de trabalho quando um conjunto de verificações tiver sido rerequested
ou completed
.
on:
check_suite:
types: [rerequested, completed]
create
Executa o fluxo de trabalho sempre que alguém cria um branch ou tag, o que aciona o evento create
. Para obter informações sobre a API REST, consulte "Criar uma referência".
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
create | n/a | Último commit no branch ou tag criado | Branch ou tag criado |
Por exemplo, você pode executar um fluxo de trabalho quando o evento create
ocorrer.
on:
create
delete
Executa o fluxo de trabalho sempre que alguém exclui um branch ou tag, o que aciona o evento delete
. Para obter informações sobre a API REST, consulte "Excluir uma referência".
Observação: Este evento acionará apenas um fluxo de trabalho executado se o arquivo do fluxo de trabalho estiver no branch-padrão.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
delete | n/a | Último commit no branch padrão | Branch padrão |
Por exemplo, você pode executar um fluxo de trabalho quando o evento delete
ocorrer.
on:
delete
implantação
Executa o fluxo de trabalho sempre que alguém cria uma implantação, o que aciona o evento deployment
. Implantações criadas com um commit SHA podem não ter um Git ref. Para obter informações sobre a API REST, consulte "Implantações".
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
implantação | n/a | Commit a ser implantado | Branch ou tag a ser implantado (vazio se commit) |
Por exemplo, você pode executar um fluxo de trabalho quando o evento deployment
ocorrer.
on:
deployment
implantação_status
Executa o fluxo de trabalho sempre que um terceiro fornece um status de implantação, o que aciona o evento deployment_status
. Implantações criadas com um commit SHA podem não ter um Git ref. Para obter informações sobre a API REST, consulte "Criar um status de implantação".
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
implantação_status | n/a | Commit a ser implantado | Branch ou tag a ser implantado (vazio se commit) |
Por exemplo, você pode executar um fluxo de trabalho quando o evento deployment_status
ocorrer.
on:
deployment_status
Observação: Quando o estado de um status de implantação está definido como inativo
, um evento webhook não será criado.
bifurcação
Executa o fluxo de trabalho sempre que alguém bifurca um repositório, o que aciona o evento fork
. Para obter informações sobre a API REST, consulte "Criar uma bifurcação".
Observação: Este evento acionará apenas um fluxo de trabalho executado se o arquivo do fluxo de trabalho estiver no branch-padrão.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
bifurcação | n/a | Último commit no branch padrão | Branch padrão |
Por exemplo, você pode executar um fluxo de trabalho quando o evento fork
ocorrer.
on:
fork
gollum
Executa o fluxo de trabalho quando alguém cria ou atualiza uma página wiki, o que aciona o evento gollum
.
Observação: Este evento acionará apenas um fluxo de trabalho executado se o arquivo do fluxo de trabalho estiver no branch-padrão.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
gollum | n/a | Último commit no branch padrão | Branch padrão |
Por exemplo, você pode executar um fluxo de trabalho quando o evento gollum
ocorrer.
on:
gollum
issue_comment
Executa o fluxo de trabalho sempre que o evento issue_comment
ocorre. Mais de um tipo de atividade aciona este evento. Para obter informações sobre a API REST, consulte "Comentários do problema".
Observação: Este evento acionará apenas um fluxo de trabalho executado se o arquivo do fluxo de trabalho estiver no branch-padrão.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
issue_comment | - created - edited - deleted | Último commit no branch padrão | Branch padrão |
Por padrão, todos os tipos de atividade ativam a execução de um fluxo de trabalho. Você pode limitar a execução do fluxo de trabalho para determinados tipos de atividade usando a palavra-chave types
(tipos). Para obter mais informações, consulte "Sintaxe de fluxo de trabalho para o GitHub Actions".
Por exemplo, você pode executar um fluxo de trabalho quando um comentário de problema tiver sido created
ou deleted
.
on:
issue_comment:
types: [created, deleted]
O evento issue_comment
ocorre para comentários em ambos os problemas e pull requests. Para determinar se o evento issue_comment
foi acionado a partir de um problema ou pull request, você poderá verificar a carga do evento para a propriedade issue.pull_request
e usá-la como condição para ignorar um trabalho.
Por exemplo, você pode optar por executar o trabalho pr_commented
quando eventos de comentários ocorrem em um pull request e executar o trabalho issue_commented
quando os eventos de comentários ocorrem em um problema.
on: issue_comment
jobs:
pr_commented:
# This job only runs for pull request comments
name: PR comment
if: ${{ github.event.issue.pull_request }}
runs-on: ubuntu-latest
steps:
- run: |
echo "Comment on PR #${{ github.event.issue.number }}"
issue_commented:
# This job only runs for issue comments
name: Issue comment
if: ${{ !github.event.issue.pull_request }}
runs-on: ubuntu-latest
steps:
- run: |
echo "Comment on issue #${{ github.event.issue.number }}"
Problemas
Executa o fluxo de trabalho sempre que o evento issues
ocorre. Mais de um tipo de atividade aciona este evento. Para obter informações sobre a API REST, consulte "problemas".
Observação: Este evento acionará apenas um fluxo de trabalho executado se o arquivo do fluxo de trabalho estiver no branch-padrão.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
Problemas | - opened - edited - deleted - transferred - pinned - unpinned - closed - reopened - assigned - unassigned - labeled - unlabeled - locked - unlocked - milestoned - demilestoned | Último commit no branch padrão | Branch padrão |
Por padrão, todos os tipos de atividade ativam a execução de um fluxo de trabalho. Você pode limitar a execução do fluxo de trabalho para determinados tipos de atividade usando a palavra-chave types
(tipos). Para obter mais informações, consulte "Sintaxe de fluxo de trabalho para o GitHub Actions".
Por exemplo, você pode executar um fluxo de trabalho quando um comentário tiver sido opened
, edited
ou milestoned
.
on:
issues:
types: [opened, edited, milestoned]
etiqueta
Executa o fluxo de trabalho sempre que o evento label
ocorre. Mais de um tipo de atividade aciona este evento. Para obter informações sobre a API REST, consulte "Etiquetas".
Observação: Este evento acionará apenas um fluxo de trabalho executado se o arquivo do fluxo de trabalho estiver no branch-padrão.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
etiqueta | - created - edited - deleted | Último commit no branch padrão | Branch padrão |
Por padrão, todos os tipos de atividade ativam a execução de um fluxo de trabalho. Você pode limitar a execução do fluxo de trabalho para determinados tipos de atividade usando a palavra-chave types
(tipos). Para obter mais informações, consulte "Sintaxe de fluxo de trabalho para o GitHub Actions".
Por exemplo, você pode executar um fluxo de trabalho quando uma etiqueta tiver sido created
ou deleted
.
on:
label:
types: [created, deleted]
marco
Executa o fluxo de trabalho sempre que o evento milestone
ocorre. Mais de um tipo de atividade aciona este evento. Para obter informações sobre a API REST, consulte "Marcos".
Observação: Este evento acionará apenas um fluxo de trabalho executado se o arquivo do fluxo de trabalho estiver no branch-padrão.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
marco | - created - closed - opened - edited - deleted | Último commit no branch padrão | Branch padrão |
Por padrão, todos os tipos de atividade ativam a execução de um fluxo de trabalho. Você pode limitar a execução do fluxo de trabalho para determinados tipos de atividade usando a palavra-chave types
(tipos). Para obter mais informações, consulte "Sintaxe de fluxo de trabalho para o GitHub Actions".
Por exemplo, você pode executar um fluxo de trabalho quando um marco tiver sido aberto
ou apagado
.
on:
milestone:
types: [opened, deleted]
page_build
Executa o fluxo de trabalho sempre que alguém faz push em um branch habilitado para o GitHub Enterprise Server Pages, o que aciona o evento page_build
. Para obter informações sobre a API REST, consulte "Páginas".
Observação: Este evento acionará apenas um fluxo de trabalho executado se o arquivo do fluxo de trabalho estiver no branch-padrão.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
page_build | n/a | Último commit no branch padrão | n/a |
Por exemplo, você pode executar um fluxo de trabalho quando o evento page_build
ocorrer.
on:
page_build
project
Executa o fluxo de trabalho sempre que o evento project
ocorre. Mais de um tipo de atividade aciona este evento. Para obter informações sobre a API REST, consulte "Projetos".
Observação: Este evento acionará apenas um fluxo de trabalho executado se o arquivo do fluxo de trabalho estiver no branch-padrão.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
project | - created - updated - closed - reopened - edited - deleted | Último commit no branch padrão | Branch padrão |
Por padrão, todos os tipos de atividade ativam a execução de um fluxo de trabalho. Você pode limitar a execução do fluxo de trabalho para determinados tipos de atividade usando a palavra-chave types
(tipos). Para obter mais informações, consulte "Sintaxe de fluxo de trabalho para o GitHub Actions".
Por exemplo, você pode executar um fluxo de trabalho quando um projeto tiver sido created
ou deleted
.
on:
project:
types: [created, deleted]
project_card
Executa o fluxo de trabalho sempre que o evento project_card
ocorre. Mais de um tipo de atividade aciona este evento. Para obter informações sobre a API REST, consulte "Cartões de projeto".
Observação: Este evento acionará apenas um fluxo de trabalho executado se o arquivo do fluxo de trabalho estiver no branch-padrão.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
project_card | - created - moved - converted to an issue- edited - deleted | Último commit no branch padrão | Branch padrão |
Por padrão, todos os tipos de atividade ativam a execução de um fluxo de trabalho. Você pode limitar a execução do fluxo de trabalho para determinados tipos de atividade usando a palavra-chave types
(tipos). Para obter mais informações, consulte "Sintaxe de fluxo de trabalho para o GitHub Actions".
Por exemplo, você pode executar um fluxo de trabalho quando um cartão de projeto tiver sido opened
ou deleted
.
on:
project_card:
types: [created, deleted]
project_column
Executa o fluxo de trabalho sempre que o evento project_column
ocorre. Mais de um tipo de atividade aciona este evento. Para obter informações sobre a API REST, consulte "Colunas do projeto".
Observação: Este evento acionará apenas um fluxo de trabalho executado se o arquivo do fluxo de trabalho estiver no branch-padrão.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
project_column | - created - updated - moved - deleted | Último commit no branch padrão | Branch padrão |
Por padrão, todos os tipos de atividade ativam a execução de um fluxo de trabalho. Você pode limitar a execução do fluxo de trabalho para determinados tipos de atividade usando a palavra-chave types
(tipos). Para obter mais informações, consulte "Sintaxe de fluxo de trabalho para o GitHub Actions".
Por exemplo, você pode executar um fluxo de trabalho quando uma coluna de projeto tiver sido created
ou deleted
.
on:
project_column:
types: [created, deleted]
público
Executa o fluxo de trabalho sempre que alguém torna público um repositório privado, o que aciona o evento public
. Para obter informações sobre a API REST, consulte "Editar repositórios".
Observação: Este evento acionará apenas um fluxo de trabalho executado se o arquivo do fluxo de trabalho estiver no branch-padrão.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
público | n/a | Último commit no branch padrão | Branch padrão |
Por exemplo, você pode executar um fluxo de trabalho quando o evento public
ocorrer.
on:
public
pull_request
Executa o fluxo de trabalho sempre que o evento pull_request
ocorre. Mais de um tipo de atividade aciona este evento. Para obter informações sobre a API REST, consulte "Pull requests".
Notas:
- Por padrão, um fluxo de trabalho só é executado quando um tipo de atividade de
pull_request
foropened
,sincronize
, oureopened
. Para acionar fluxos de trabalho para mais tipos de atividade, use a palavra-chavetypes
. - Os fluxos de trabalho não serão executados na atividade
pull_request
se o pull request tiver um conflito de merge. O conflito de merge tem de ser resolvido primeiro.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
pull_request | - assigned - unassigned - labeled - unlabeled - opened - edited - closed - reopened - synchronize - converted_to_draft - ready_for_review - locked - unlocked - review_requested - review_request_removed | Último commit de merge no branch GITHUB_REF | Branch de merge da PR refs/pull/:prNumber/merge |
É possível estender ou limitar os tipos de atividade padrão usando a palavra-chave types
. Para obter mais informações, consulte "Sintaxe de fluxo de trabalho para o GitHub Actions".
Por exemplo, você pode executar um fluxo de trabalho quando um pull request tiver sido atribuído
, aberto
, sincronizado
ou reaberto
.
on:
pull_request:
types: [assigned, opened, synchronize, reopened]
Eventos de pull request para repositórios bifurcados
Observação: fluxos de trabalho não são executados em repositórios privados quando você abre uma pull request de um repositório bifurcado.
Quando você cria uma pull request a partir de um repositório bifurcado para o repositório base, o GitHub envia o evento de pull_request
para o repositório base e nenhum evento de pull request acontecerá no repositório bifurcado.
Fluxos de trabalho não são executados em repositórios bifurcados por padrão. Você deve habilitar o GitHub Actions na aba Actions (Ações) do repositório bifurcado.
Com exceção do GITHUB_TOKEN
, os segredos não são disponibilizados para o executor quando um fluxo de trabalho é acionado a partir de um repositório bifurcado. As permissões para o GITHUB_TOKEN
em repositórios bifurcados são somente leitura. Para obter mais informações, consulte "Autenticação com o GITHUB_TOKEN".
Observação: Os fluxos de trabalho acionados por pull rquests de Dependabot são tratados como se fossem de um repositório bifurcado, e estão também sujeitos a essas restrições.
pull_request_review
Executa o fluxo de trabalho sempre que o evento pull_request_review
ocorre. Mais de um tipo de atividade aciona este evento. Para obter informações sobre a API REST, consulte "Revisões de pull request".
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
pull_request_review | - submitted - edited - dismissed | Último commit de merge no branch GITHUB_REF | Branch de merge da PR refs/pull/:prNumber/merge |
Por padrão, todos os tipos de atividade ativam a execução de um fluxo de trabalho. Você pode limitar a execução do fluxo de trabalho para determinados tipos de atividade usando a palavra-chave types
(tipos). Para obter mais informações, consulte "Sintaxe de fluxo de trabalho para o GitHub Actions".
Por exemplo, você pode executar um fluxo de trabalho quando uma revisão de pull request tiver sido edited
ou dismissed
.
on:
pull_request_review:
types: [edited, dismissed]
Eventos de pull request para repositórios bifurcados
Observação: fluxos de trabalho não são executados em repositórios privados quando você abre uma pull request de um repositório bifurcado.
Quando você cria uma pull request a partir de um repositório bifurcado para o repositório base, o GitHub envia o evento de pull_request
para o repositório base e nenhum evento de pull request acontecerá no repositório bifurcado.
Fluxos de trabalho não são executados em repositórios bifurcados por padrão. Você deve habilitar o GitHub Actions na aba Actions (Ações) do repositório bifurcado.
Com exceção do GITHUB_TOKEN
, os segredos não são disponibilizados para o executor quando um fluxo de trabalho é acionado a partir de um repositório bifurcado. As permissões para o GITHUB_TOKEN
em repositórios bifurcados são somente leitura. Para obter mais informações, consulte "Autenticação com o GITHUB_TOKEN".
Observação: Os fluxos de trabalho acionados por pull rquests de Dependabot são tratados como se fossem de um repositório bifurcado, e estão também sujeitos a essas restrições.
pull_request_review_comment
Executa o fluxo de trabalho sempre que um comentário no diff unificado de uma pull request é modificado, o que aciona o evento pull_request_review_comment
. Mais de um tipo de atividade aciona este evento. Para obter informações sobre a API REST, consulte Comentários da revisão.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
pull_request_review_comment | - created - edited - deleted | Último commit de merge no branch GITHUB_REF | Branch de merge da PR refs/pull/:prNumber/merge |
Por padrão, todos os tipos de atividade ativam a execução de um fluxo de trabalho. Você pode limitar a execução do fluxo de trabalho para determinados tipos de atividade usando a palavra-chave types
(tipos). Para obter mais informações, consulte "Sintaxe de fluxo de trabalho para o GitHub Actions".
Por exemplo, você pode executar um fluxo de trabalho quando um comentário de revisão de pull request tiver sido created
ou deleted
.
on:
pull_request_review_comment:
types: [created, deleted]
Eventos de pull request para repositórios bifurcados
Observação: fluxos de trabalho não são executados em repositórios privados quando você abre uma pull request de um repositório bifurcado.
Quando você cria uma pull request a partir de um repositório bifurcado para o repositório base, o GitHub envia o evento de pull_request
para o repositório base e nenhum evento de pull request acontecerá no repositório bifurcado.
Fluxos de trabalho não são executados em repositórios bifurcados por padrão. Você deve habilitar o GitHub Actions na aba Actions (Ações) do repositório bifurcado.
Com exceção do GITHUB_TOKEN
, os segredos não são disponibilizados para o executor quando um fluxo de trabalho é acionado a partir de um repositório bifurcado. As permissões para o GITHUB_TOKEN
em repositórios bifurcados são somente leitura. Para obter mais informações, consulte "Autenticação com o GITHUB_TOKEN".
Observação: Os fluxos de trabalho acionados por pull rquests de Dependabot são tratados como se fossem de um repositório bifurcado, e estão também sujeitos a essas restrições.
push
Observação: a carga de webhook disponível para o GitHub Actions não inclui os atributos added
, removed
e modified
no objeto commit
. É possível recuperar o objeto de commit completo usando a API REST. Para obter mais informações, consulte "Obter um commit".
Executa o fluxo de trabalho quando alguém faz push em um branch de repositório, o que aciona o evento push
.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
push | n/a | Commit com push, exceto se excluindo um branch (quando é o branch padrão) | ref atualizado |
Por exemplo, você pode executar um fluxo de trabalho quando o evento push
ocorrer.
on:
push
registry_package
Executa o seu fluxo de trabalho sempre que um pacote for publicado
ou atualizado
. Para obter mais informações, consulte "Gerenciando pacotes com o GitHub Package Registry".
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
registry_package | - publicado - atualizado | Commit do pacote publicado | Branch ou tag do pacote publicado |
Por padrão, todos os tipos de atividade ativam a execução de um fluxo de trabalho. Você pode limitar a execução do fluxo de trabalho para determinados tipos de atividade usando a palavra-chave types
(tipos). Para obter mais informações, consulte "Sintaxe de fluxo de trabalho para o GitHub Actions".
Por exemplo, você pode executar um fluxo de trabalho quando um pacote tiver sido publicado
.
em:
registry_package:
tipos: [published]
versão
Observação: O evento versão
não é acionado para versões de rascunho.
Executa o fluxo de trabalho sempre que o evento release
ocorre. Mais de um tipo de atividade aciona este evento. Para obter informações sobre a API REST, consulte "Versões".
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
versão | - published - unpublished - created - edited - deleted - prereleased - released | Último commit na versão com tag | Tag da versão |
Por padrão, todos os tipos de atividade ativam a execução de um fluxo de trabalho. Você pode limitar a execução do fluxo de trabalho para determinados tipos de atividade usando a palavra-chave types
(tipos). Para obter mais informações, consulte "Sintaxe de fluxo de trabalho para o GitHub Actions".
Por exemplo, você pode executar um fluxo de trabalho quando uma versão tiver sido published
.
on:
release:
types: [published]
Observação: O tipoprereleasednão será acionado para pré-versões publicadas a partir de versões de rascunho, mas o tipo <code>published
será acionado. Se você quiser que um fluxo de trabalho seja executado quando e forem publicadas pré-versões, assine published
em vez de released
e prereleased
.
status
Executa o fluxo de trabalho sempre que o status de um commit do Git muda, o que aciona o evento status
. Para obter informações sobre a API REST, consulte Status.
Observação: Este evento acionará apenas um fluxo de trabalho executado se o arquivo do fluxo de trabalho estiver no branch-padrão.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
status | n/a | Último commit no branch padrão | n/a |
Por exemplo, você pode executar um fluxo de trabalho quando o evento status
ocorrer.
on:
status
inspecionar
Executa o fluxo de trabalho sempre que o evento watch
ocorre. Mais de um tipo de atividade aciona este evento. Para obter informações sobre a API REST, consulte "Marcar com uma estrela".
Observação: Este evento acionará apenas um fluxo de trabalho executado se o arquivo do fluxo de trabalho estiver no branch-padrão.
Carga de evento webhook | Tipos de atividade | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
inspecionar | - started | Último commit no branch padrão | Branch padrão |
Por padrão, todos os tipos de atividade ativam a execução de um fluxo de trabalho. Você pode limitar a execução do fluxo de trabalho para determinados tipos de atividade usando a palavra-chave types
(tipos). Para obter mais informações, consulte "Sintaxe de fluxo de trabalho para o GitHub Actions".
Por exemplo, você pode executar um fluxo de trabalho quando alguém marca um repositório com estrela, que é o tipo de atividade started
que aciona o evento de inspeção.
on:
watch:
types: [started]
Para executar um trabalho de fluxo de trabalho condicionalmente baseado no resultado da execução do fluxo de trabalho anterior, você pode usar a condicional jobs.<job_id>.if
ou jobs.<job_id>.steps[*].if
combinada com com a conclusão `` da execução anterior. Por exemplo:
on:
workflow_run:
workflows: ["Build"]
types: [completed]
jobs:
on-success:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
...
on-failure:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'failure' }}
steps:
...
Acionar novos fluxos de trabalho usando um token de acesso pessoal
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
. Para obter mais informações, consulte "Efetuando a autenticação com o GITHUB_TOKEN".
Se você deseja acionar um fluxo de trabalho a partir de uma execução do fluxo de trabalho, você pode acionar o evento usando um token de acesso pessoal. Você deverá criar um token de acesso pessoal e armazená-lo como um segredo. Para minimizar seus custos de uso GitHub Actions, certifique-se de que você não cria execução de fluxo de trabalho recursivo ou não intencional. Para mais informações sobre como armazenar um token de acesso pessoal como segredo, consulte "Criar e armazenar segredos criptografados".