

Amazon non CodeCatalyst è più aperta a nuovi clienti. I clienti esistenti possono continuare a utilizzare il servizio normalmente. Per ulteriori informazioni, consulta [Come migrare da CodeCatalyst](migration.md).

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Aggiungere trigger ai flussi di lavoro
<a name="workflows-add-trigger-add"></a>

Utilizza le seguenti istruzioni per aggiungere un trigger push, pull o schedulate al tuo CodeCatalyst flusso di lavoro Amazon.

Per ulteriori informazioni sui trigger, consulta [L'avvio di un flusso di lavoro viene eseguito automaticamente utilizzando i trigger](workflows-add-trigger.md).

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

**Per aggiungere un trigger (editor visivo)**

1. Apri la CodeCatalyst console all'[indirizzo https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Scegliere il progetto.

1. **Nel riquadro di navigazione, scegli **CI/CD**, quindi scegli Flussi di lavoro.**

1. Scegli il nome del tuo flusso di lavoro. Puoi filtrare in base al nome del repository o del ramo di origine in cui è definito il flusso di lavoro oppure filtrare in base al nome o allo stato del flusso di lavoro.

1. Scegli **Modifica**.

1. Scegli **Visual**.

1. Nel diagramma del flusso di lavoro, scegli la casella **Source** and **Triggers**.

1. Nel riquadro di configurazione, scegli **Aggiungi** trigger.

1. Nella finestra di dialogo **Aggiungi trigger**, fornisci le informazioni nei campi, come segue.

    **Tipo di trigger** 

   Specificare il tipo di trigger. È possibile utilizzare uno dei seguenti valori:
   + **Push** (editor visivo) o `PUSH` (editor YAML)

     Un push trigger avvia l'esecuzione di un flusso di lavoro quando una modifica viene inviata all'archivio di origine. *L'esecuzione del flusso di lavoro utilizzerà i file del ramo verso cui state inviando il push (ovvero il ramo di destinazione).*
   + **Pull request** (editor visuale) o `PULLREQUEST` (editor YAML)

     Un trigger di pull request avvia un flusso di lavoro quando una pull request viene aperta, aggiornata o chiusa nel repository di origine. L'esecuzione del flusso di lavoro utilizzerà i file nel ramo *da* cui state estraendo (ovvero il ramo di origine).
   + **Pianificazione** (editor visivo) o `SCHEDULE` (editor YAML)

     Un trigger di pianificazione avvia l'esecuzione del flusso di lavoro in base a una pianificazione definita da un'espressione cron specificata dall'utente. Verrà avviato un flusso di lavoro separato per ogni ramo del repository di origine utilizzando i file del ramo. (Per limitare i rami su cui si attiva il trigger, usa il campo **Branches** (editor visivo) o la `Branches` proprietà (editor YAML).)

     Quando configuri un trigger di pianificazione, segui queste linee guida:
     + Utilizza solo un trigger di pianificazione per flusso di lavoro.
     + Se hai definito più flussi di lavoro nel tuo CodeCatalyst spazio, ti consigliamo di programmarne non più di 10 per avviarli contemporaneamente.
     + Assicurati di configurare l'espressione cron del trigger con un tempo adeguato tra le esecuzioni. Per ulteriori informazioni, consulta [Expression](workflow-reference.md#workflow.triggers.expression).

   Per alcuni esempi, consulta [Esempi: trigger nei flussi di lavoro](workflows-add-trigger-examples.md).

    **Eventi per la pull request** 

   Questo campo viene visualizzato solo se è stato selezionato il tipo di trigger della **richiesta Pull**.

   Specificate il tipo di eventi di pull request che avvieranno l'esecuzione di un flusso di lavoro. Di seguito sono riportati i valori validi:
   + **Viene creata una pull request** (editor visuale) o `OPEN` (editor YAML)

     L'esecuzione del flusso di lavoro viene avviata quando viene creata una richiesta pull.
   + La **pull request è chiusa** (editor visivo) o `CLOSED` (editor YAML)

     L'esecuzione del flusso di lavoro viene avviata quando viene chiusa una pull request. Il comportamento dell'`CLOSED`evento è complicato e può essere compreso meglio attraverso un esempio. Per ulteriori informazioni, consulta [Esempio: un trigger con pull, branch e un evento «CLOSED»](workflows-add-trigger-examples.md#workflows-add-trigger-examples-push-pull-close).
   + **Viene effettuata una nuova revisione per pull request** (editor visivo) o `REVISION` (editor YAML)

     L'esecuzione del workflow viene avviata quando viene creata una revisione di una pull request. La prima revisione viene creata quando viene creata la pull request. Dopodiché, viene creata una nuova revisione ogni volta che qualcuno invia un nuovo commit al ramo di origine specificato nella pull request. Se includi l'`REVISION`evento nel trigger della pull request, puoi omettere l'`OPEN`evento, poiché `REVISION` è un superset di. `OPEN`

   È possibile specificare più eventi nello stesso trigger di pull request.

   Per alcuni esempi, consulta [Esempi: trigger nei flussi di lavoro](workflows-add-trigger-examples.md).

    **Pianificazione** 

   Questo campo viene visualizzato solo se è stato selezionato il tipo di trigger **Schedule**.

   Specificate l'espressione cron che descrive quando desiderate che avvenga l'esecuzione del flusso di lavoro pianificato.

   Le espressioni Cron CodeCatalyst utilizzano la seguente sintassi a sei campi, in cui ogni campo è separato da uno spazio:

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

   **Esempi di espressioni cron**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/codecatalyst/latest/userguide/workflows-add-trigger-add.html)

   Quando specifichi le espressioni cron in CodeCatalyst, assicurati di seguire queste linee guida:
   + Specificate una singola espressione cron per trigger. `SCHEDULE`
   + Racchiudi l'espressione cron tra virgolette doppie (`"`) nell'editor YAML.
   + Specificate l'ora in UTC (Coordinated Universal Time). Altri fusi orari non sono supportati.
   + Configura almeno 30 minuti tra un'esecuzione e l'altra. Una cadenza più veloce non è supportata.
   + Specificate il *days-of-week* campo *days-of-month* o, ma non entrambi. Se si specifica un valore o un asterisco (`*`) in uno dei campi, è necessario utilizzare un punto interrogativo (`?`) nell'altro. L'asterisco significa «tutti» e il punto interrogativo significa «qualsiasi».

    Per altri esempi di espressioni cron e informazioni sui caratteri jolly come, e `?` `*``L`, consulta il [riferimento alle espressioni Cron nella](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cron-expressions.html) *Amazon EventBridge * User Guide. Le espressioni Cron CodeCatalyst funzionano esattamente EventBridge allo stesso modo.

   Per esempi di trigger di pianificazione, vedi. [Esempi: trigger nei flussi di lavoro](workflows-add-trigger-examples.md)

    **Rami** e schema delle **filiali** 

   (Facoltativo)

   Specificate i rami nel vostro repository di origine monitorati dal trigger per sapere quando avviare l'esecuzione di un flusso di lavoro. È possibile utilizzare modelli regex per definire i nomi delle filiali. Ad esempio, utilizzare per `main.*` abbinare tutti i rami che iniziano con`main`.

   I rami da specificare sono diversi a seconda del tipo di trigger:
   + Per un trigger push, specifica i rami verso cui stai eseguendo *il* push, ovvero i rami di *destinazione*. Verrà avviata un'esecuzione del flusso di lavoro per ramo corrispondente, utilizzando i file nel ramo corrispondente.

     Esempi: `main.*`, `mainline`
   + **Per un trigger di pull request, specifica i rami verso cui stai inviando il push, ovvero i rami di destinazione.** Verrà avviata un'esecuzione del flusso di lavoro per ramo corrispondente, utilizzando il file di definizione del flusso di lavoro e i file di origine nel ramo di **origine** (*non* nel ramo corrispondente).

     Esempi:`main.*`,`mainline`, `v1\-.*` (corrisponde ai rami che iniziano con) `v1-`
   + Per un trigger di pianificazione, specifica i rami che contengono i file che desideri vengano utilizzati dall'esecuzione pianificata. Verrà avviata un'esecuzione del flusso di lavoro per ramo corrispondente, utilizzando il file di definizione del flusso di lavoro e i file sorgente nel ramo corrispondente.

     Esempi: `main.*`, `version\-1\.0`
**Nota**  
Se *non* specifichi i rami, il trigger monitora tutti i rami nel tuo repository di origine e avvierà un flusso di lavoro eseguito utilizzando il file di definizione del flusso di lavoro e i file sorgente in:  
Il ramo verso cui stai eseguendo il push (*per i* trigger push). Per ulteriori informazioni, consulta [Esempio: un semplice pulsante di attivazione tramite codice](workflows-add-trigger-examples.md#workflows-add-trigger-examples-push-simple).
Il ramo *da* cui stai prelevando (per i trigger di pull request). Per ulteriori informazioni, consulta [Esempio: un semplice trigger di pull request](workflows-add-trigger-examples.md#workflows-add-trigger-examples-pull-simple).
Tutte le filiali (per i trigger di pianificazione). Verrà avviata un'unica esecuzione del flusso di lavoro per ramo nel repository di origine. Per ulteriori informazioni, consulta [Esempio: un semplice trigger di pianificazione](workflows-add-trigger-examples.md#workflows-add-trigger-examples-schedule-simple).

   Per ulteriori informazioni su rami e trigger, consulta. [Linee guida per l'utilizzo di trigger e filiali](workflows-add-trigger-considerations.md)

   Per ulteriori esempi, consulta [Esempi: trigger nei flussi di lavoro](workflows-add-trigger-examples.md).

    **File modificati** 

   Questo campo viene visualizzato solo se è stato selezionato il tipo di trigger di **richiesta **Push o Pull****.

   Specificate i file o le cartelle nell'archivio di origine monitorati dal trigger per sapere quando avviare l'esecuzione di un flusso di lavoro. È possibile utilizzare espressioni regolari per abbinare i nomi o i percorsi dei file.

   Per alcuni esempi, consulta [Esempi: trigger nei flussi di lavoro](workflows-add-trigger-examples.md).

1. (Facoltativo) Scegliete **Convalida per convalidare** il codice YAML del flusso di lavoro prima di eseguire il commit.

1. **Scegliete **Commit**, inserite un messaggio di commit e scegliete nuovamente Commit.**

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

**Per aggiungere un trigger (editor YAML)**

1. [Apri la CodeCatalyst console all'indirizzo https://codecatalyst.aws/.](https://codecatalyst.aws/)

1. Scegliere il progetto.

1. **Nel riquadro di navigazione, scegli **CI/CD**, quindi scegli Flussi di lavoro.**

1. Scegli il nome del tuo flusso di lavoro. Puoi filtrare in base al nome del repository o del ramo di origine in cui è definito il flusso di lavoro oppure filtrare in base al nome o allo stato del flusso di lavoro.

1. Scegli **Modifica**.

1. Scegli **YAML**.

1. Aggiungi una `Triggers` sezione e le proprietà sottostanti usando l'esempio seguente come guida. Per ulteriori informazioni, consultare [Triggers](workflow-reference.md#triggers-reference) nella [Definizione YAML del flusso di lavoro](workflow-reference.md).

   Un trigger con codice potrebbe avere il seguente aspetto:

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

   Un trigger di pull request potrebbe avere il seguente aspetto:

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

   Un trigger di pianificazione potrebbe essere simile al seguente:

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

   Per altri esempi di espressioni cron che è possibile utilizzare nella `Expression` proprietà, vedere[Expression](workflow-reference.md#workflow.triggers.expression).

   Per altri esempi di trigger push, pull request e schedule, vedi. [Esempi: trigger nei flussi di lavoro](workflows-add-trigger-examples.md)

1. (Facoltativo) Scegliete **Convalida per convalidare** il codice YAML del flusso di lavoro prima di eseguire il commit.

1. **Scegliete **Commit**, inserite un messaggio di commit e scegliete nuovamente Commit.**

------