

A Amazon não CodeCatalyst está mais aberta a novos clientes. Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte [Como migrar do CodeCatalyst](migration.md).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Adição de gatilhos aos fluxos de trabalho
<a name="workflows-add-trigger-add"></a>

Use as instruções a seguir para adicionar um gatilho push, pull ou schedule ao seu CodeCatalyst fluxo de trabalho da Amazon.

Para ter mais informações sobre gatilhos, consulte [Início da execução automática de um fluxo de trabalho usando gatilhos](workflows-add-trigger.md).

------
#### [ Visual ]<a name="workflows-add-trigger-add-console"></a>

**Para adicionar um gatilho (editor visual)**

1. Abra o CodeCatalyst console em [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Selecione o projeto.

1. No painel de navegação, escolha **CI/CD** e **Fluxos de trabalho**.

1. Selecione o nome do fluxo de trabalho. É possível filtrar pelo nome do repositório ou da ramificação de origem em que o fluxo de trabalho está definido, ou filtrar pelo nome ou o status do fluxo de trabalho.

1. Escolha **Editar**.

1. Selecione **Visual**.

1. No diagrama do fluxo de trabalho, selecione a caixa **Origem** e **Gatilhos**.

1. No painel de configuração, selecione **Adicionar gatilho**.

1. Na caixa de diálogo **Adicionar gatilho**, forneça as informações nos campos, da seguinte forma.

    **Tipo de gatilho** 

   Especifique o tipo de gatilho. É possível usar um dos seguintes valores:
   + **Envio** (editor visual) ou `PUSH` (editor YAML)

     Um gatilho de envio inicia a execução de um fluxo de trabalho quando uma alteração é enviada para seu repositório de origem. A execução do fluxo de trabalho usará os arquivos na ramificação *para* a qual você está enviando (ou seja, a ramificação de destino).
   + **Solicitação pull** (editor visual) ou `PULLREQUEST` (editor YAML)

     Um gatilho de solicitação pull inicia a execução de um fluxo de trabalho quando uma solicitação pull é aberta, atualizada ou fechada no seu repositório de origem. A execução do fluxo de trabalho usará os arquivos na ramificação *da* a qual você está extraindo (ou seja, a ramificação de origem).
   + **Programação** (editor visual) ou `SCHEDULE` (editor YAML)

     Um gatilho de programação inicia a execução do fluxo de trabalho em uma programação definida por uma expressão cron especificada por você. Uma execução de fluxo de trabalho separada será iniciada para cada ramificação em seu repositório de origem usando os arquivos da ramificação. (Para limitar as ramificações nas quais o gatilho é ativado, use o campo **Ramificações** (editor visual) ou a propriedade `Branches` (editor YAML).)

     Ao configurar um gatilho de programação, siga estas instruções:
     + Use apenas um gatilho de programação por fluxo de trabalho.
     + Se você definiu vários fluxos de trabalho em seu CodeCatalyst espaço, recomendamos que você agende no máximo 10 deles para começarem simultaneamente.
     + Certifique-se de configurar a expressão cron do gatilho com tempo adequado entre as execuções. Para obter mais informações, consulte [Expression](workflow-reference.md#workflow.triggers.expression).

   Para obter exemplos, consulte [Exemplos: gatilhos em fluxos de trabalho](workflows-add-trigger-examples.md).

    **Eventos para solicitação pull** 

   Esse campo só aparece se você selecionou o tipo de gatilho de **solicitação pull**.

   Especifique o tipo de eventos de solicitação pull que iniciarão a execução de um fluxo de trabalho. Os valores válidos são os seguintes:
   + **A solicitação pull é criada** (editor visual) ou `OPEN` (editor YAML)

     A execução do fluxo de trabalho é iniciada quando uma solicitação pull é criada.
   + **A solicitação pull é fechada** (editor visual) ou `CLOSED` (editor YAML)

     A execução do fluxo de trabalho é iniciada quando uma solicitação pull é fechada. O comportamento do evento `CLOSED` é complicado e é melhor compreendido por meio de um exemplo. Consulte [Exemplo: um gatilho com uma extração, ramificações e um evento “FECHADO”](workflows-add-trigger-examples.md#workflows-add-trigger-examples-push-pull-close) para obter mais informações.
   + **Uma nova revisão é feita para solicitação pull** (editor visual) ou `REVISION` (editor YAML)

     A execução do fluxo de trabalho é iniciada quando uma revisão da solicitação pull é criada. A primeira revisão é criada quando a solicitação pull é criada. Depois disso, uma nova revisão é criada sempre que alguém envia uma nova confirmação para a ramificação de origem especificada na solicitação pull. Se você incluir o evento `REVISION` em seu gatilho de solicitação pull, poderá omitir o evento `OPEN`, pois `REVISION` é um superconjunto de `OPEN`.

   Você pode especificar vários eventos no mesmo gatilho de solicitação pull.

   Para obter exemplos, consulte [Exemplos: gatilhos em fluxos de trabalho](workflows-add-trigger-examples.md).

    **Programação** 

   Esse campo só aparece se você selecionou o tipo de gatilho **Programação**.

   Especifique a expressão cron que descreve quando você deseja que suas execuções de fluxo de trabalho programadas ocorram.

   As expressões Cron CodeCatalyst usam a seguinte sintaxe de seis campos, em que cada campo é separado por um espaço:

   *minutes* *hours* *days-of-month* *month* *days-of-week* *year*

   **Exemplos de expressões cron**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codecatalyst/latest/userguide/workflows-add-trigger-add.html)

   Ao especificar expressões cron em CodeCatalyst, siga estas diretrizes:
   + Especifique uma única expressão cron por gatilho `SCHEDULE`.
   + Coloque a expressão cron entre aspas duplas (`"`) no editor YAML.
   + Especifique o horário em Tempo Universal Coordenado (UTC). Outros fusos horários não são suportados.
   + Configure pelo menos 30 minutos entre as execuções. Não há suporte para uma cadência mais rápida.
   + Especifique o *days-of-week* campo *days-of-month* ou, mas não ambos. Se você especificar um valor ou asterisco (`*`) em um dos campos, deverá usar um ponto de interrogação (`?`) no outro. O asterisco significa “tudo” e o ponto de interrogação significa “qualquer”.

    Para obter mais exemplos de expressões cron e informações sobre curingas como`?`,, e `*``L`, consulte a [referência de expressões Cron no Guia](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cron-expressions.html) do usuário da *Amazon EventBridge *. As expressões Cron CodeCatalyst funcionam exatamente da mesma maneira. EventBridge 

   Para ver exemplos de gatilhos de programação, consulte [Exemplos: gatilhos em fluxos de trabalho](workflows-add-trigger-examples.md).

    **Ramificações** e **padrão de ramificação** 

   (Optional)

   Especifique as ramificações em seu repositório de origem que o acionador monitora para saber quando iniciar a execução de um fluxo de trabalho. Você pode usar padrões regex para definir os nomes das ramificações. Por exemplo, use `main.*` para combinar todas as ramificações que começam com `main`.

   As ramificações a serem especificadas são diferentes dependendo do tipo de gatilho:
   + Para um gatilho de envio, especifique as ramificações *para* as quais você está enviando, ou seja, as ramificações de *destino*. Uma execução de fluxo de trabalho será iniciada por ramificação correspondente, usando os arquivos na ramificação correspondente.

     Exemplos: `main.*`, `mainline`
   + Para um gatilho de solicitação pull, especifique as ramificações *para* as quais você está enviando, ou seja, as ramificações de *destino*. Uma execução de fluxo de trabalho será iniciada por ramificação correspondente, usando o arquivo de definição do fluxo de trabalho e os arquivos de origem na ramificação de **origem** (*não* a ramificação correspondente).

     Exemplos: `main.*`, `mainline`, `v1\-.*` (corresponde às ramificações que começam com `v1-`)
   + Para um gatilho de programação, especifique as ramificações que contêm os arquivos que devem ser usados pela sua execução programada. Uma execução de fluxo de trabalho será iniciada por ramificação correspondente, usando o arquivo de definição do fluxo de trabalho e os arquivos de origem na ramificação correspondente.

     Exemplos: `main.*`, `version\-1\.0`
**nota**  
Se você *não* especificar ramificações, o gatilho monitorará todas as ramificações em seu repositório de origem e iniciará a execução de um fluxo de trabalho usando o arquivo de definição do fluxo de trabalho e os arquivos de origem em:  
A ramificação *para* a qual você está enviando (para gatilhos de envio). Para obter mais informações, consulte [Exemplo: um simples gatilho de envio de código](workflows-add-trigger-examples.md#workflows-add-trigger-examples-push-simple).
A ramificação *da* qual você está extraindo (para gatilhos de solicitação pull). Para obter mais informações, consulte [Exemplo: um simples gatilho de solicitação pull](workflows-add-trigger-examples.md#workflows-add-trigger-examples-pull-simple).
Todas as ramificações (para gatilhos de programação). Uma execução de fluxo de trabalho será iniciada por ramificação em seu repositório de origem. Para obter mais informações, consulte [Exemplo: um gatilho de programação simples](workflows-add-trigger-examples.md#workflows-add-trigger-examples-schedule-simple).

   Para ter mais informações sobre ramificações e gatilhos, consulte [Diretrizes para o uso de gatilhos e ramificações](workflows-add-trigger-considerations.md).

   Para obter mais exemplos, consulte [Exemplos: gatilhos em fluxos de trabalho](workflows-add-trigger-examples.md).

    **Arquivos alterados** 

   Esse campo só aparece se você selecionou o tipo de gatilho de **Envio** ou **Solicitação pull**.

   Especifique os arquivos ou pastas em seu repositório de origem que o acionador monitora para saber quando iniciar a execução de um fluxo de trabalho. Você pode usar expressões regulares para corresponder nomes ou caminhos de arquivos.

   Para obter exemplos, consulte [Exemplos: gatilhos em fluxos de trabalho](workflows-add-trigger-examples.md).

1. (Opcional) Selecione **Validar** para validar o código YAML do fluxo de trabalho antes de confirmar.

1. Selecione **Confirmar**, insira uma mensagem de confirmação e escolha **Confirmar** novamente.

------
#### [ YAML ]

**Para adicionar um gatilho (editor YAML)**

1. Abra o CodeCatalyst console em [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Selecione o projeto.

1. No painel de navegação, escolha **CI/CD** e **Fluxos de trabalho**.

1. Selecione o nome do fluxo de trabalho. É possível filtrar pelo nome do repositório ou da ramificação de origem em que o fluxo de trabalho está definido, ou filtrar pelo nome ou o status do fluxo de trabalho.

1. Escolha **Editar**.

1. Selecione **YAML**.

1. Adicione uma seção de `Triggers` e propriedades subjacentes usando o exemplo a seguir como guia. Para obter mais informações, consulte o [Triggers](workflow-reference.md#triggers-reference) no [Definição do YAML do fluxo de trabalho](workflow-reference.md).

   Um gatilho de envio de código pode ter a seguinte aparência:

   ```
   Triggers:
     - Type: PUSH
       Branches:
         - main
   ```

   Um gatilho de solicitação pull pode ter a seguinte aparência:

   ```
   Triggers:
     - Type: PULLREQUEST
       Branches:
         - main.*
       Events: 
         - OPEN
         - REVISION
         - CLOSED
   ```

   Um gatilho de programação pode ter a seguinte aparência:

   ```
   Triggers:
     - Type: SCHEDULE
       Branches:
         - main.*
       # Run the workflow at 1:15 am (UTC+0) every Friday until the end of 2023
       Expression: "15 1 ? * FRI 2022-2023"
   ```

   Para ver mais exemplos de expressões cron que podem ser usadas na propriedade `Expression`, consulte [Expression](workflow-reference.md#workflow.triggers.expression).

   Para ver mais exemplos de gatilhos de envio, solicitação pull e programação, consulte [Exemplos: gatilhos em fluxos de trabalho](workflows-add-trigger-examples.md).

1. (Opcional) Selecione **Validar** para validar o código YAML do fluxo de trabalho antes de confirmar.

1. Selecione **Confirmar**, insira uma mensagem de confirmação e escolha **Confirmar** novamente.

------