

Amazon ya no CodeCatalyst está abierto a nuevos clientes. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte [Cómo migrar desde CodeCatalyst](migration.md).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Ejemplos: Desencadenadores en flujos de trabajo
<a name="workflows-add-trigger-examples"></a>

Los siguientes ejemplos muestran cómo añadir distintos tipos de activadores en un archivo de definición de CodeCatalyst flujo de trabajo de Amazon.

Para obtener más información acerca de los desencadenadores, consulte [Inicio de un flujo de trabajo y ejecución automática mediante desencadenadores](workflows-add-trigger.md).

**Topics**
+ [Ejemplo: Desencadenador de inserción de código sencillo](#workflows-add-trigger-examples-push-simple)
+ [Ejemplo: Desencadenador de inserción en main sencillo](#workflows-add-trigger-examples-push-main)
+ [Ejemplo: Desencadenador de solicitud de extracción sencillo](#workflows-add-trigger-examples-pull-simple)
+ [Ejemplo: Desencadenador de programación sencillo](#workflows-add-trigger-examples-schedule-simple)
+ [Ejemplo: Desencadenador con programación y ramificaciones](#workflows-add-trigger-examples-schedule-branches)
+ [Ejemplo: Desencadenador con una programación, una inserción y ramificaciones](#workflows-add-trigger-examples-schedule-push-branches)
+ [Ejemplo: Desencadenador con una extracción y ramificaciones](#workflows-add-trigger-examples-pull-branches)
+ [Ejemplo: Desencadenador con una extracción, ramificaciones y un evento CLOSED](#workflows-add-trigger-examples-push-pull-close)
+ [Ejemplo: Desencadenador con inserción, ramificaciones y archivos](#workflows-add-trigger-examples-push-multi)
+ [Ejemplo: Disparador manual](#workflows-add-trigger-examples-manual)
+ [Ejemplo: activadores en una configuración de CI/CD flujo de trabajo múltiple](#workflows-add-trigger-usecases)

## Ejemplo: Desencadenador de inserción de código sencillo
<a name="workflows-add-trigger-examples-push-simple"></a>

El siguiente ejemplo muestra un desencadenador que inicia la ejecución de un flujo de trabajo cada vez que se envía código a *cualquier* ramificación del repositorio de código fuente.

Cuando se activa este activador, se CodeCatalyst inicia una ejecución de flujo de trabajo con los archivos de la rama *a la que estás accediendo* (es decir, la rama de destino). 

Por ejemplo, si presionas una confirmación a`main`, se CodeCatalyst inicia una ejecución de flujo de trabajo utilizando el archivo de definición del flujo de trabajo y otros archivos fuente. `main`

Como otro ejemplo, si se envía una confirmación a`feature-branch-123`, se CodeCatalyst inicia una ejecución de flujo de trabajo utilizando el archivo de definición del flujo de trabajo y otros archivos fuente activados. `feature-branch-123`

```
Triggers:
  - Type: PUSH
```

**nota**  
Si desea que la ejecución de un flujo de trabajo se inicie solo cuando realice inserciones en `main`, consulte [Ejemplo: Desencadenador de inserción en main sencillo](#workflows-add-trigger-examples-push-main).

## Ejemplo: Desencadenador de inserción en main sencillo
<a name="workflows-add-trigger-examples-push-main"></a>

El siguiente ejemplo muestra un desencadenador que inicia la ejecución de un flujo de trabajo cada vez que se inserta código en la ramificación `main` (y *solo* en la ramificación `main`) en el repositorio de código fuente.

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

## Ejemplo: Desencadenador de solicitud de extracción sencillo
<a name="workflows-add-trigger-examples-pull-simple"></a>

El siguiente ejemplo muestra un desencadenador que inicia la ejecución de un flujo de trabajo cada vez que se crea o revisa una solicitud de extracción en el repositorio de código fuente.

Cuando se activa este activador, CodeCatalyst inicia una ejecución de flujo de trabajo con el archivo de definición del flujo de trabajo y otros archivos fuente de la rama de la que se *extrae* (es decir, la rama de origen).

Por ejemplo, si creas una solicitud de extracción con una rama de origen llamada `feature-123` y una rama de destino llamada`main`, CodeCatalyst inicia una ejecución de flujo de trabajo utilizando el archivo de definición del flujo de trabajo y otros archivos de origen. `feature-123`

```
Triggers:
  - Type: PULLREQUEST
    Events:
      - OPEN
      - REVISION
```

## Ejemplo: Desencadenador de programación sencillo
<a name="workflows-add-trigger-examples-schedule-simple"></a>

El siguiente ejemplo muestra un desencadenador que inicia una ejecución de flujo de trabajo a medianoche (UTC\$10) de lunes a viernes.

Cuando se activa este activador, se CodeCatalyst inicia una sola ejecución de flujo de trabajo para cada rama del repositorio de origen que contenga un archivo de definición de flujo de trabajo con este activador.

Por ejemplo, si tienes tres ramas en tu repositorio de origen, `main` `release-v1``feature-123`, y cada una de estas ramas contiene un archivo de definición de flujo de trabajo con el siguiente desencadenante, CodeCatalyst inicia tres ejecuciones de flujo de trabajo: una con los archivos de dentro`main`, otra con los archivos de y otra con los archivos de`feature-123`. `release-v1`

```
Triggers:
  - Type: SCHEDULE
    Expression: "0 0 ? * MON-FRI *"
```

Para ver más ejemplos de expresiones cron que puede utilizar en la propiedad `Expression`, consulte [Expression](workflow-reference.md#workflow.triggers.expression).

## Ejemplo: Desencadenador con programación y ramificaciones
<a name="workflows-add-trigger-examples-schedule-branches"></a>

El siguiente ejemplo muestra un desencadenador que inicia una ejecución de flujo de trabajo a las 18:15 h (UTC\$10) cada día.

Cuando se activa este activador, CodeCatalyst inicia una ejecución de flujo de trabajo con los archivos de la `main` rama e inicia ejecuciones adicionales para cada rama que comience con`release-`.

Por ejemplo, si tiene ramas denominadas`main`, `release-v1``bugfix-1`, y `bugfix-2` en el repositorio de origen, CodeCatalyst inicia dos ejecuciones de flujo de trabajo: una con los archivos de y otra con los archivos de`release-v1`. `main` *No* inicia ejecuciones del flujo de trabajo para las ramificaciones `bugfix-1` y `bugfix-1`.

```
Triggers:
  - Type: SCHEDULE
    Expression: "15 18 * * ? *"
    Branches:
      - main
      - release\-.*
```

Para ver más ejemplos de expresiones cron que puede utilizar en la propiedad `Expression`, consulte [Expression](workflow-reference.md#workflow.triggers.expression).

## Ejemplo: Desencadenador con una programación, una inserción y ramificaciones
<a name="workflows-add-trigger-examples-schedule-push-branches"></a>

El siguiente ejemplo muestra un desencadenador que inicia una ejecución de flujo de trabajo a medianoche (UTC\$10) todos los días y siempre que se inserte código a la ramificación `main`.

En este ejemplo:
+ La ejecución de un flujo de trabajo comienza todos los días a medianoche. La ejecución del flujo de trabajo utiliza el archivo de definición del flujo de trabajo y otros archivos de origen en la ramificación `main`.
+ Una ejecución de flujo de trabajo también se inicia cada vez que se inserta una confirmación a la ramificación `main`. La ejecución del flujo de trabajo utiliza el archivo de definición del flujo de trabajo y otros archivos de origen en la ramificación de destino (`main`).

```
Triggers:
  - Type: SCHEDULE
    Expression: "0 0 * * ? *"
    Branches:
      - main
  - Type: PUSH
    Branches: 
      - main
```

Para ver más ejemplos de expresiones cron que puede utilizar en la propiedad `Expression`, consulte [Expression](workflow-reference.md#workflow.triggers.expression).

## Ejemplo: Desencadenador con una extracción y ramificaciones
<a name="workflows-add-trigger-examples-pull-branches"></a>

En el siguiente ejemplo, se muestra un desencadenador que inicia una ejecución de flujo de trabajo cada vez que alguien abre o modifica una solicitud de extracción con una ramificación de destino llamada `main`. Aunque la ramificación especificada en la configuración de `Triggers` sea `main`, la ejecución del flujo de trabajo utilizará el archivo de definición del flujo de trabajo y otros archivos de origen de la ramificación de *origen* (que es la ramificación *desde* la que se extrae).

```
Triggers:      
  - Type: PULLREQUEST
    Branches:
      - main
    Events:
      - OPEN
      - REVISION
```

## Ejemplo: Desencadenador con una extracción, ramificaciones y un evento CLOSED
<a name="workflows-add-trigger-examples-push-pull-close"></a>

En el siguiente ejemplo, se muestra un desencadenador que inicia una ejecución de flujo de trabajo cada vez que se cierra una solicitud de extracción en una ramificación que comience por `main`.

En este ejemplo:
+ Cuando se cierras una solicitud de extracción con una ramificación de destino que comience por `main`, se inicia automáticamente una ejecución de flujo de trabajo con el archivo de definición del flujo de trabajo y otros archivos de origen de la ramificación de origen (ahora cerrada).
+ Si ha configurado el repositorio de código fuente para que elimine las ramificaciones automáticamente después de combinar una solicitud de extracción, estas ramificaciones nunca tendrán la oportunidad de entrar en el estado `CLOSED`. Esto significa que las ramificaciones combinadas no activarán el desencadenador de la solicitud de extracción `CLOSED`. La única forma de activar el desencadenador `CLOSED` en este escenario es cerrar la solicitud de extracción sin combinarla.

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

## Ejemplo: Desencadenador con inserción, ramificaciones y archivos
<a name="workflows-add-trigger-examples-push-multi"></a>

El siguiente ejemplo muestra un desencadenador que inicia la ejecución de un flujo de trabajo cada vez que se realiza un cambio en el archivo `filename.txt` o en cualquier archivo del directorio `src` en la ramificación `main`.

Cuando se activa este activador, CodeCatalyst inicia una ejecución de flujo de trabajo con el archivo de definición del flujo de trabajo y otros archivos fuente de la `main` rama.

```
Triggers:
  - Type: PUSH
    Branches:
      - main
    FilesChanged:
      - filename.txt
      - src\/.*
```

## Ejemplo: Disparador manual
<a name="workflows-add-trigger-examples-manual"></a>

Para configurar un disparador manual, omita la sección `Triggers` del archivo de definición del flujo de trabajo. Sin esta sección, los usuarios se ven obligados a iniciar el flujo de trabajo manualmente pulsando el botón **Ejecutar** de la CodeCatalyst consola. Para obtener más información, consulte [Inicio manual de la ejecución de un flujo de trabajo](workflows-manually-start.md).

## Ejemplo: activadores en una configuración de CI/CD flujo de trabajo múltiple
<a name="workflows-add-trigger-usecases"></a>

En este ejemplo, se describe cómo configurar los activadores cuando se desean utilizar CodeCatalyst flujos de trabajo de Amazon independientes para la integración continua (CI) y el despliegue continuo (CD).

En este escenario, debe configurar dos flujos de trabajo:
+ un **flujo de trabajo de CI**: este flujo de trabajo crea y prueba la aplicación cuando se crea o revisa una solicitud de extracción;
+ un **flujo de trabajo de CD**: este flujo de trabajo crea e implementa la aplicación cuando se combina una solicitud de extracción.

El archivo de definición del **flujo de trabajo de CI** tendría un aspecto similar al siguiente:

```
Triggers:      
  - Type: PULLREQUEST
    Branches:
      - main
    Events:
      - OPEN
      - REVISION
Actions:
  BuildAction:
    instructions-for-building-the-app
  TestAction:
    instructions-for-test-the-app
```

El `Triggers` código indica que hay que iniciar automáticamente un flujo de trabajo cada vez que un desarrollador de software cree una solicitud de cambios (o [modifique una](pull-requests-update.md)) solicitando la fusión de su rama de funciones con la `main` rama. CodeCatalyst inicia la ejecución del flujo de trabajo utilizando el código fuente de la rama fuente (que es la rama de funciones).

El archivo de definición del **flujo de trabajo de CD** tendría un aspecto similar al siguiente:

```
Triggers:      
  - Type: PUSH
    Branches:
      - main
Actions:
  BuildAction:
    instructions-for-building-the-app
  DeployAction:
    instructions-for-deploying-the-app
```

El `Triggers` código indica que el flujo de trabajo se inicie automáticamente cuando `main` se produzca una fusión. CodeCatalyst inicia la ejecución del flujo de trabajo utilizando el código fuente de la `main` rama.