Eventos que acionam fluxos de trabalho

É possível configurar a execução de seus fluxos de trabalho quando uma atividade específica acontece no GitHub AE em um período agendado ou quando ocorre um evento externo do GitHub AE.

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:

  1. Um evento ocorre no seu repositório e o evento resultante tem um commit de SHA e ref de Git associados.

  2. É 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.

  3. 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 AE configura as variáveis de ambiente GITHUB_SHA (commit SHA) e GITHUB_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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
n/an/aÚltimo commit no branch padrãoBranch 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:

OperadorDescriçãoExemplo
*Qualquer valor* * * * * executa cada minuto de todos os dias.
,Separador de lista de valor2,10 4,5 * * * executa no minuto 2 e 10 da quarta e quinta hora de todos os dias.
-Intervalo de valores0 4-6 * * * executa no minuto 0 da quarta, quinta e sexta hora.
/Valores de etapa20/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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
workflow_dispatchn/aÚltimo commit de merge no branch GITHUB_REFBranch 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 AE e do GitHub AE. 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 `eentradas dedomésticas e as imprime usando os contextosgithub.event.inputs.nameegithub.event.inputs.home. Sehome` 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
repository_dispatchn/aÚltimo commit no branch padrãoBranch 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 AE 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 AE 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 AE. 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
check_run- created
- rerequested
- completed
Último commit no branch padrãoBranch 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
check_suite- completed
- requested
- rerequested
Último commit no branch padrãoBranch 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
createn/aÚltimo commit no branch ou tag criadoBranch 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
deleten/aÚltimo commit no branch padrãoBranch 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
implantaçãon/aCommit a ser implantadoBranch 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
implantação_statusn/aCommit a ser implantadoBranch 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
bifurcaçãon/aÚltimo commit no branch padrãoBranch 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
gollumn/aÚltimo commit no branch padrãoBranch 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
issue_comment- created
- edited
- deleted
Último commit no branch padrãoBranch 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
Problemas- opened
- edited
- deleted
- transferred
- pinned
- unpinned
- closed
- reopened
- assigned
- unassigned
- labeled
- unlabeled
- locked
- unlocked
- milestoned
- demilestoned
Último commit no branch padrãoBranch 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
etiqueta- created
- edited
- deleted
Último commit no branch padrãoBranch 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
marco- created
- closed
- opened
- edited
- deleted
Último commit no branch padrãoBranch 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 AE 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
page_buildn/aÚltimo commit no branch padrãon/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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
project- created
- updated
- closed
- reopened
- edited
- deleted
Último commit no branch padrãoBranch 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
project_card- created
- moved
- converted to an issue
- edited
- deleted
Último commit no branch padrãoBranch 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
project_column- created
- updated
- moved
- deleted
Último commit no branch padrãoBranch 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
públicon/aÚltimo commit no branch padrãoBranch 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 for opened, sincronize, ou reopened. Para acionar fluxos de trabalho para mais tipos de atividade, use a palavra-chave types.
  • 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 webhookTipos de atividadeGITHUB_SHAGITHUB_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
- auto_merge_enabled
- auto_merge_disabled
Último commit de merge no branch GITHUB_REFBranch 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
pull_request_review- submitted
- edited
- dismissed
Último commit de merge no branch GITHUB_REFBranch 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
pull_request_review_comment- created
- edited
- deleted
Último commit de merge no branch GITHUB_REFBranch 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.

pull_request_target

Este evento é executado no contexto da base do pull request, em vez de no commit de merge como o evento pull_request faz. Isso impede a execução de código de fluxo de trabalho inseguro do cabeçalho do pull request que poderia alterar seu repositório ou roubar quaisquer segredos que você usa no fluxo de trabalho. Este evento permite que você faça coisas como criar fluxos de trabalho que etiquetam e comentam em pull requests com base no conteúdo da carga do evento.

Aviso: O evento pull_request_target recebe um token de repositório de leitura/gravação e pode acessar segredos, mesmo quando é acionado a partir de uma bifurcação. Embora o fluxo de trabalho seja executado no contexto da base do pull request, você deve certificar-se de que você não irá fazer checkout, construir ou executar o código não confiável do pull request com este evento. Além disso, qualquer cache compartilham o mesmo escopo do branch de base e ajuda a evitar envenenamento do cache. Você não deve salvar o cache se houver a possibilidade de que o conteúdo de cache ter sido alterado. Para obter mais informações, consulte "Proteger seus GitHub Actions e fluxos de trabalho: Evitar solicitações pwn" no site do GitHub Security Lab.

Carga de evento webhookTipos de atividadeGITHUB_SHAGITHUB_REF
pull_request_target- assigned
- unassigned
- labeled
- unlabeled
- opened
- edited
- closed
- reopened
- synchronize
- converted_to_draft
- ready_for_review
- locked
- unlocked
- review_requested
- review_request_removed
- auto_merge_enabled
- auto_merge_disabled
Último commit no branch de base do PRBranch-base do pull request

Por padrão, um fluxo de trabalho só é executado quando o tipo de atividade de pull_request_targeté aberto,, sincronizado ou reaberto. Para acionar fluxos de trabalho para mais tipos de atividade, use 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_target:
    types: [assigned, opened, synchronize, reopened]

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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
pushn/aCommit 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
registry_package- publicado
- atualizado
Commit do pacote publicadoBranch 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
versão- published
- unpublished
- created
- edited
- deleted
- prereleased
- released
Último commit na versão com tagTag 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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
statusn/aÚltimo commit no branch padrãon/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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
inspecionar- startedÚltimo commit no branch padrãoBranch 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]

workflow_run

Este evento ocorre quando uma execução do fluxo de trabalho é solicitada ou concluída, e permite que você execute um fluxo de trabalho com base no resultado concluído de outro fluxo de trabalho. A workflow run is triggered regardless of the result of the previous workflow.

Por exemplo, se o fluxo de trabalho pull_request gera artefatos de criação, você pode criar um novo fluxo de trabalho que usa workflow_run para analisar os resultados e adicionar um comentário ao pull request original.

The workflow started by the workflow_run event is able to access secrets and write tokens, even if the previous workflow was not. This is useful in cases where the previous workflow is intentionally not privileged, but you need to take a privileged action in a later workflow.

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 webhookTipos de atividadeGITHUB_SHAGITHUB_REF
workflow_run- completed
- requested
Último commit no branch padrãoBranch 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".

Se precisar filtrar os branches desse evento, você poderá usar branches ou branches-ignore.

Neste exemplo, um fluxo de trabalho está configurado para ser executado após o fluxo de trabalho "Executar Testes" separado ser concluído.

on:
  workflow_run:
    workflows: ["Run Tests"]
    branches: [main]
    types: 
      - completed
      - requested

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".

Esse documento ajudou você?

Política de Privacidade

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.