

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.

# Uso de variables en flujos de trabajo
<a name="workflows-working-with-variables"></a>

 Una *variable* es un par clave-valor que contiene información a la que puedes hacer referencia en tu flujo de trabajo de Amazon CodeCatalyst . La parte del valor de la variable se reemplaza por un valor real cuando se ejecuta el flujo de trabajo.

Hay dos tipos de variables que puede usar en un flujo de trabajo:
+ **Variables definidas por el usuario**: son pares clave-valor que usted puede definir.
+ **Variables predefinidas**: son pares clave-valor que un flujo de trabajo emite automáticamente. No es necesario que los defina.

Para obtener más información acerca de los flujos de trabajo, consulte [Creación, pruebas e implementaciones con flujos de trabajoCreación, pruebas e implementaciones con flujos de trabajo](workflow.md).

**nota**  
CodeCatalyst también admite [parámetros GitHub de salida](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter), que se comportan como variables y se puede hacer referencia a ellos en otras acciones. Para obtener más información, consulte [Exportación de los parámetros de salida de GitHub](integrations-github-action-export.md) y [Referencia a parámetros GitHub de salida](integrations-github-action-referencing.md).

**Topics**
+ [Uso de variables definidas por el usuario](workflows-using-variables.md)
+ [Uso de variables predefinidas](workflows-using-predefined-variables.md)

# Uso de variables definidas por el usuario
<a name="workflows-using-variables"></a>

Las *variables definidas por el usuario* son pares clave-valor que usted puede definir. Hay dos tipos:
+ **Variables de texto sin formato**, o simplemente **variables**: se trata de pares clave-valor que se definen en texto sin formato en el archivo de definición del flujo de trabajo.
+ **Secretos**: son pares clave-valor que se definen en una página de **secretos** independiente de la consola de Amazon CodeCatalyst . La *clave* (nombre) es una etiqueta pública y el *valor* contiene la información que quiera mantener privada. Solo debe especificar la clave en el archivo de definición del flujo de trabajo. Utilice secretos en lugar de contraseñas y otra información confidencial en el archivo de definición del flujo de trabajo.

**nota**  
Por motivos de brevedad, en esta guía se utiliza el término *variable* para referirse a una *variable de texto sin formato*.

Para obtener más información acerca de las variables, consulte [Uso de variables en flujos de trabajo](workflows-working-with-variables.md).

**Topics**
+ [Ejemplos de variables](workflows-working-with-variables-ex.md)
+ [Definición de una variable](workflows-working-with-variables-define-input.md)
+ [Definición de un secreto](workflows-working-with-variables-define-secret.md)
+ [Exportación de una variable para que otras acciones puedan utilizarla](workflows-working-with-variables-export-input.md)
+ [Referencia a una variable en la acción que la define](workflows-working-with-variables-reference-input.md)
+ [Referencia a la salida de una variable generada por otra acción](workflows-working-with-variables-reference-action.md)
+ [Referencia a un secreto](workflows-working-with-variables-reference-secret.md)

# Ejemplos de variables
<a name="workflows-working-with-variables-ex"></a>

En los siguientes ejemplos se muestra cómo definir variables y hacer referencia a ellas en el archivo de definición del flujo de trabajo.

Para obtener más información acerca de las variables, consulte [Uso de variables en flujos de trabajo](workflows-working-with-variables.md).

**Topics**
+ [Ejemplo: Definición de una variable mediante la propiedad Inputs](#workflows-working-with-variables-ex-define-inputs)
+ [Ejemplo: Definición de una variable mediante la propiedad Steps](#workflows-working-with-variables-ex-define-steps)
+ [Ejemplo: Exportación de una variable mediante la propiedad Outputs](#workflows-working-with-variables-ex-export-outputs)
+ [Ejemplo: Referencia a una variable definida en la misma acción](#workflows-working-with-variables-ex-refer-current)
+ [Ejemplo: Referencia a una variable definida en otra acción](#workflows-working-with-variables-ex-refer-other)
+ [Ejemplo: Referencia a un secreto](#workflows-working-with-variables-ex-refer-secret)

## Ejemplo: Definición de una variable mediante la propiedad Inputs
<a name="workflows-working-with-variables-ex-define-inputs"></a>

El siguiente ejemplo muestra cómo definir dos variables, `VAR1` y `VAR2`, en una sección `Inputs`.

```
Actions:
  Build:
    Identifier: aws/build@v1
    Inputs:
      Variables:
      - Name: VAR1
        Value: "My variable 1"
      - Name: VAR2
        Value: "My variable 2"
```

## Ejemplo: Definición de una variable mediante la propiedad Steps
<a name="workflows-working-with-variables-ex-define-steps"></a>

El siguiente ejemplo muestra cómo definir una variable `DATE` en la sección `Steps` de forma explícita.

```
Actions:
  Build:
    Identifier: aws/build@v1
    Configuration:    
      Steps:
        - Run: DATE=$(date +%m-%d-%y)
```

## Ejemplo: Exportación de una variable mediante la propiedad Outputs
<a name="workflows-working-with-variables-ex-export-outputs"></a>

El siguiente ejemplo muestra cómo definir dos variables, `REPOSITORY-URI` y `TIMESTAMP`, y exportarlas utilizando la sección `Outputs`.

```
Actions:
  Build:
    Identifier: aws/build@v1
    Inputs:
      Variables:
        - Name: REPOSITORY-URI
          Value: 111122223333.dkr.ecr.us-east-2.amazonaws.com/codecatalyst-ecs-image-repo
    Configuration:
      Steps:
        - Run: TIMESTAMP=$(date +%m-%d-%y-%H-%m-%s) 
    Outputs:
      Variables:
        - REPOSITORY-URI
        - TIMESTAMP
```

## Ejemplo: Referencia a una variable definida en la misma acción
<a name="workflows-working-with-variables-ex-refer-current"></a>

El siguiente ejemplo muestra cómo especificar una variable `VAR1` en `MyBuildAction` y después hacer referencia a ella en la misma acción utilizando `$VAR1`.

```
Actions:
  MyBuildAction:
    Identifier: aws/build@v1
    Inputs:
      Variables:
        - Name: VAR1
          Value: my-value
    Configuration:
      Steps:
        - Run: $VAR1
```

## Ejemplo: Referencia a una variable definida en otra acción
<a name="workflows-working-with-variables-ex-refer-other"></a>

El siguiente ejemplo muestra cómo especificar una variable `TIMESTAMP` en `BuildActionA`, exportarla con la propiedad `Outputs` y después hacer referencia a ella en `BuildActionB` con `${BuildActionA.TIMESTAMP}`.

```
Actions:
  BuildActionA:
    Identifier: aws/build@v1
    Configuration:    
      Steps:
        - Run: TIMESTAMP=$(date +%m-%d-%y-%H-%m-%s) 
    Outputs:
      Variables:
        - TIMESTAMP
  BuildActionB:
    Identifier: aws/build@v1
    Configuration:
      Steps:
        - Run: docker build -t my-ecr-repo/image-repo:latest .      
        - Run: docker tag my-ecr-repo/image-repo:${BuildActionA.TIMESTAMP}
        
        # Specifying just '$TIMESTAMP' here will not work 
        # because TIMESTAMP is not a variable 
        # in the BuildActionB action.
```

## Ejemplo: Referencia a un secreto
<a name="workflows-working-with-variables-ex-refer-secret"></a>

En el siguiente ejemplo se muestra cómo hacer referencia a un secreto `my-password`. La `my-password` es la clave del secreto. La clave de este secreto y el valor de la contraseña correspondiente deben especificarse en la página **Secretos** de la CodeCatalyst consola antes de utilizarlos en el archivo de definición del flujo de trabajo. Para obtener más información, consulte [Enmascaramiento de datos mediante secretos](workflows-secrets.md).

```
Actions:
  BuildActionA:
    Identifier: aws/build@v1
    Configuration:    
      Steps:
        - Run: curl -u LiJuan:${Secrets.my-password} https://example.com
```

# Definición de una variable
<a name="workflows-working-with-variables-define-input"></a>

Puede definir las variables de dos maneras:
+ En la sección `Inputs` de una acción de flujo de trabajo: consulte [Definición de una variable en la sección Entradas](#workflows-to-define-variable-input)
+ En la sección `Steps` de una acción de flujo de trabajo: consulte [Definición de una variable en la sección Steps](#workflows-to-define-variable-steps)
**nota**  
El `Steps` método solo funciona con las acciones de CodeCatalyst compilación, prueba y **GitHub Acciones**, ya que son las únicas acciones que incluyen una `Steps` sección.

Para ver ejemplos, consulte [Ejemplos de variables](workflows-working-with-variables-ex.md).

Para obtener más información acerca de las variables, consulte [Uso de variables en flujos de trabajo](workflows-working-with-variables.md).

------
#### [ Visual ]

**Definición de una variable en la sección Entradas (editor visual)**

1. Abre la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Elija el proyecto.

1. En el panel de navegación, elija **CI/CD** y, a continuación, elija **Flujos de trabajo**.

1. Elija el nombre del flujo de trabajo. Puede filtrar por el nombre del repositorio de código fuente o la ramificación donde esté definido el flujo de trabajo, o bien por el nombre o el estado del flujo de trabajo.

1. Elija **Edit (Edición de)**.

1. Elija **Visual**.

1. En el diagrama de flujo de trabajo, elija la acción en la que quiera especificar la variable.

1. Seleccione **Entradas**.

1. En **Variables (opcional)**, seleccione **Agregar variable** y haga lo siguiente:

   Especifique una secuencia de name/value pares que defina las variables de entrada que desea poner a disposición de la acción. Los nombres de variables están limitados a caracteres alfanuméricos (a-z, A-Z y 0-9), guiones (-) y guiones bajos (\$1). No se permiten espacios. No puede utilizar comillas para permitir caracteres especiales ni espacios en los nombres de variables.

   Para obtener más información sobre las variables, incluidos ejemplos, consulte [Uso de variables en flujos de trabajo](workflows-working-with-variables.md).

1. (Opcional) Seleccione **Validar** para validar el código de YAML del flujo de trabajo antes de confirmarlo.

1. Seleccione **Confirmar**, introduzca un mensaje de confirmación y vuelva a seleccionar **Confirmar**.

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

**Definición de una variable en la sección Entradas (editor de YAML)**

1. Abra la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Elija el proyecto.

1. En el panel de navegación, elija **CI/CD** y, a continuación, elija **Flujos de trabajo**.

1. Elija el nombre del flujo de trabajo. Puede filtrar por el nombre del repositorio de código fuente o la ramificación donde esté definido el flujo de trabajo, o bien por el nombre o el estado del flujo de trabajo.

1. Elija **Edit (Edición de)**.

1. Elija **YAML**.

1. En una acción de flujo de trabajo, agregue código similar al siguiente:

   ```
   action-name:
     Inputs:
       Variables:
         - Name: variable-name
           Value: variable-value
   ```

   Para obtener más ejemplos, consulte [Ejemplos de variables](workflows-working-with-variables-ex.md). Para obtener más información, consulte la [Definición de flujo de trabajo en YAML](workflow-reference.md) para su acción.

1. (Opcional) Seleccione **Validar** para validar el código de YAML del flujo de trabajo antes de confirmarlo.

1. Seleccione **Confirmar**, introduzca un mensaje de confirmación y vuelva a seleccionar **Confirmar**.

------

------
#### [ Visual ]

**Definición de una variable en la sección “Pasos” (editor visual)**

1. Abra la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Elija el proyecto.

1. En el panel de navegación, elija **CI/CD** y, a continuación, elija **Flujos de trabajo**.

1. Elija el nombre del flujo de trabajo. Puede filtrar por el nombre del repositorio de código fuente o la ramificación donde esté definido el flujo de trabajo, o bien por el nombre o el estado del flujo de trabajo.

1. Elija **Edit (Edición de)**.

1. Elija **Visual**.

1. En el diagrama de flujo de trabajo, elija la acción en la que quiera especificar la variable.

1. Elija **Configuración**.

1. En **los comandos de Shell** o en **GitHublas acciones (YAML)**, las que estén disponibles, defina una variable en la acción`Steps`, de forma explícita o implícita.
   + Para definir la variable de forma explícita, inclúyala en un comando bash directamente en la sección `Steps`.
   + Para definir una variable de forma implícita, especifíquela en un archivo al que se haga referencia en la sección `Steps` de la acción.

     Para ver ejemplos, consulte [Ejemplos de variables](workflows-working-with-variables-ex.md). Para obtener más información, consulte la [Definición de flujo de trabajo en YAML](workflow-reference.md) de la acción.

1. (Opcional) Seleccione **Validar** para validar el código de YAML del flujo de trabajo antes de confirmarlo.

1. Seleccione **Confirmar**, introduzca un mensaje de confirmación y vuelva a seleccionar **Confirmar**.

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

**Definición de una variable en la sección “Pasos” (editor de YAML)**

1. [Abre la CodeCatalyst consola en https://codecatalyst.aws/.](https://codecatalyst.aws/)

1. Elija el proyecto.

1. En el panel de navegación, elija **CI/CD** y, a continuación, elija **Flujos de trabajo**.

1. Elija el nombre del flujo de trabajo. Puede filtrar por el nombre del repositorio de código fuente o la ramificación donde esté definido el flujo de trabajo, o bien por el nombre o el estado del flujo de trabajo.

1. Elija **Edit (Edición de)**.

1. Elija **YAML**.

1. En una acción de flujo de trabajo, defina una variable en la sección `Steps` de la acción, de forma explícita o implícita.
   + Para definir la variable de forma explícita, inclúyala en un comando bash directamente en la sección `Steps`.
   + Para definir una variable de forma implícita, especifíquela en un archivo al que se haga referencia en la sección `Steps` de la acción.

     Para ver ejemplos, consulte [Ejemplos de variables](workflows-working-with-variables-ex.md). Para obtener más información, consulte la [Definición de flujo de trabajo en YAML](workflow-reference.md) de la acción.

1. (Opcional) Seleccione **Validar** para validar el código de YAML del flujo de trabajo antes de confirmarlo.

1. Seleccione **Confirmar**, introduzca un mensaje de confirmación y vuelva a seleccionar **Confirmar**.

------

# Definición de un secreto
<a name="workflows-working-with-variables-define-secret"></a>

Defina un secreto en la página **Secretos** de la CodeCatalyst consola. Para obtener más información, consulte [Enmascaramiento de datos mediante secretos](workflows-secrets.md).

Por ejemplo, puede definir un secreto que tenga este aspecto:
+ Nombre (clave): **my-password**
+ Valor: **^\$1H3\$1\$1b9**

Una vez definido el secreto, puede especificar la clave del secreto (**my-password**) en el archivo de definición del flujo de trabajo. Para ver un ejemplo práctico, consulte [Ejemplo: Referencia a un secreto](workflows-working-with-variables-ex.md#workflows-working-with-variables-ex-refer-secret).

# Exportación de una variable para que otras acciones puedan utilizarla
<a name="workflows-working-with-variables-export-input"></a>

Siga estas instrucciones para exportar una variable de una acción para poder hacer referencia a ella en otras acciones.

Antes de exportar una variable, tenga en cuenta lo siguiente:
+ Si solo tiene que hacer referencia a la variable dentro de la acción en la que está definida, no necesita exportarla.
+ No todas las acciones son compatibles con la exportación de variables. Para determinar si su acción es compatible con esta característica, siga las instrucciones del editor visual que aparecen a continuación y compruebe si la acción incluye un botón de **Variables** en la pestaña **Salidas**. En caso afirmativo, la exportación de variables es compatible. 
+ Para exportar una variable de una GitHub acción, consulte[Exportación de los parámetros de salida de GitHub](integrations-github-action-export.md).

Para obtener más información acerca de las variables, consulte [Uso de variables en flujos de trabajo](workflows-working-with-variables.md).

**Requisito previo**  
Asegúrese de haber definido la variable que quiera exportar. Para obtener más información, consulte [Definición de una variable](workflows-working-with-variables-define-input.md).

------
#### [ Visual ]

**Exportación de una variable (editor visual)**

1. Abra la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Elija el proyecto.

1. En el panel de navegación, elija **CI/CD** y, a continuación, elija **Flujos de trabajo**.

1. Elija el nombre del flujo de trabajo. Puede filtrar por el nombre del repositorio de código fuente o la ramificación donde esté definido el flujo de trabajo, o bien por el nombre o el estado del flujo de trabajo.

1. Elija **Edit (Edición de)**.

1. Elija **Visual**.

1. En el diagrama del flujo, elija la acción desde la que quiera exportar la variable.

1. Seleccione **Salidas**.

1. En **Variables (opcional)**, seleccione **Agregar variable** y haga lo siguiente:

   Especifique el nombre de la variable que desee que exporte la acción. Esta variable ya debe estar definida en la sección `Inputs` o `Steps` de la misma acción.

1. (Opcional) Seleccione **Validar** para validar el código de YAML del flujo de trabajo antes de confirmarlo.

1. Seleccione **Confirmar**, introduzca un mensaje de confirmación y vuelva a seleccionar **Confirmar**.

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

**Exportación de una variable (editor de YAML)**

1. Abra la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Elija el proyecto.

1. En el panel de navegación, elija **CI/CD** y, a continuación, elija **Flujos de trabajo**.

1. Elija el nombre del flujo de trabajo. Puede filtrar por el nombre del repositorio de código fuente o la ramificación donde esté definido el flujo de trabajo, o bien por el nombre o el estado del flujo de trabajo.

1. Elija **Edit (Edición de)**.

1. Elija **YAML**.

1. En la acción desde la que quiera exportar la variable, añada un código similar al siguiente:

   ```
   action-name:
     Outputs:
       Variables:
         - Name: variable-name
   ```

   Para obtener más ejemplos, consulte [Ejemplos de variables](workflows-working-with-variables-ex.md).

1. (Opcional) Seleccione **Validar** para validar el código de YAML del flujo de trabajo antes de confirmarlo.

1. Seleccione **Confirmar**, introduzca un mensaje de confirmación y vuelva a seleccionar **Confirmar**.

------

# Referencia a una variable en la acción que la define
<a name="workflows-working-with-variables-reference-input"></a>

Siga estas instrucciones para hacer referencia a una variable en la acción que la define.

**nota**  
Para hacer referencia a una variable generada por una GitHub acción, consulte[Referencia a parámetros GitHub de salida](integrations-github-action-referencing.md).

Para obtener más información acerca de las variables, consulte [Uso de variables en flujos de trabajo](workflows-working-with-variables.md).

**Requisito previo**  
Asegúrese de haber definido la variable a la que quiera hacer referencia. Para obtener más información, consulte [Definición de una variable](workflows-working-with-variables-define-input.md).

------
#### [ Visual ]

*No disponible. Seleccione YAML para ver las instrucciones de YAML.*

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

**Referencia a una variable en la acción que la define**

1. Abra la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Elija el proyecto.

1. En el panel de navegación, elija **CI/CD** y, a continuación, elija **Flujos de trabajo**.

1. Elija el nombre del flujo de trabajo. Puede filtrar por el nombre del repositorio de código fuente o la ramificación donde esté definido el flujo de trabajo, o bien por el nombre o el estado del flujo de trabajo.

1. Elija **Edit (Edición de)**.

1. Elija **YAML**.

1. En la CodeCatalyst acción que define la variable a la que quieres hacer referencia, añade la variable con la siguiente sintaxis de bash:

   ```
   $variable-name
   ```

   Por ejemplo:

   ```
   MyAction:
       Configuration:
         Steps:
           - Run: $variable-name
   ```

   Para obtener más ejemplos, consulte [Ejemplos de variables](workflows-working-with-variables-ex.md). Para obtener más información, consulte la información de referencia de su acción en la [Definición de flujo de trabajo en YAML](workflow-reference.md).

1. (Opcional) Seleccione **Validar** para validar el código de YAML del flujo de trabajo antes de confirmarlo.

1. Seleccione **Confirmar**, introduzca un mensaje de confirmación y vuelva a seleccionar **Confirmar**.

------

# Referencia a la salida de una variable generada por otra acción
<a name="workflows-working-with-variables-reference-action"></a>

Utilice las siguientes instrucciones para hacer referencia a salidas de variables generadas por otras acciones.

**nota**  
 Para hacer referencia a una salida variable de una GitHub acción, consulte[Referencia a parámetros GitHub de salida](integrations-github-action-referencing.md).

Para obtener más información acerca de las variables, consulte [Uso de variables en flujos de trabajo](workflows-working-with-variables.md).

**Requisito previo**  
Asegúrese de haber exportado la variable a la que quiera hacer referencia. Para obtener más información, consulte [Exportación de una variable para que otras acciones puedan utilizarla](workflows-working-with-variables-export-input.md).

------
#### [ Visual ]

*No disponible. Seleccione YAML para ver las instrucciones de YAML.*

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

**Referencia a la salida de una variable generada por otra acción (editor de YAML)**

1. Abra la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Elija el proyecto.

1. En el panel de navegación, elija **CI/CD** y, a continuación, elija **Flujos de trabajo**.

1. Elija el nombre del flujo de trabajo. Puede filtrar por el nombre del repositorio de código fuente o la ramificación donde esté definido el flujo de trabajo, o bien por el nombre o el estado del flujo de trabajo.

1. Elija **Edit (Edición de)**.

1. Elija **YAML**.

1. En la CodeCatalyst acción, añada una referencia a la variable con la siguiente sintaxis:

   ```
   ${action-group-name.action-name.variable-name}
   ```

   Reemplace:
   + *action-group-name*con el nombre del grupo de acciones que contiene la acción que genera la variable.
**nota**  
Puede omitir *action-group-name* si no hay ningún grupo de acciones o si la variable es producida por una acción del mismo grupo de acciones.
   + *action-name*con el nombre de la acción que genera la variable.
   + *variable-name*con el nombre de la variable.

   Por ejemplo:

   ```
   MySecondAction:
       Configuration:
         Steps:
           - Run: ${MyFirstAction.TIMESTAMP}
   ```

   Para obtener más ejemplos, consulte [Ejemplos de variables](workflows-working-with-variables-ex.md). Para obtener más información, consulte la [Definición de flujo de trabajo en YAML](workflow-reference.md) para su acción.

1. (Opcional) Seleccione **Validar** para validar el código de YAML del flujo de trabajo antes de confirmarlo.

1. Seleccione **Confirmar**, introduzca un mensaje de confirmación y vuelva a seleccionar **Confirmar**.

------

# Referencia a un secreto
<a name="workflows-working-with-variables-reference-secret"></a>

Para obtener instrucciones sobre cómo hacer referencia a un secreto en el archivo de definición del flujo de trabajo, consulte [Uso de un secreto](workflows-secrets.using.md).

Para ver un ejemplo, consulte [Ejemplo: Referencia a un secreto](workflows-working-with-variables-ex.md#workflows-working-with-variables-ex-refer-secret).

# Uso de variables predefinidas
<a name="workflows-using-predefined-variables"></a>

Las *variables predefinidas* son pares clave-valor que un flujo de trabajo emite automáticamente y que están disponibles para su uso en las acciones del flujo de trabajo. 

Para obtener más información acerca de las variables, consulte [Uso de variables en flujos de trabajo](workflows-working-with-variables.md).

**Topics**
+ [Ejemplos de referencia a variables predefinidas](workflows-predefined-examples.md)
+ [Referencia a una variable predefinida](workflows-working-with-variables-reference-output-vars.md)
+ [Determinación de qué variables predefinidas emite un flujo de trabajo](workflows-working-with-variables-determine-output-vars.md)
+ [Lista de variables predefinidas](workflow-ref-action-variables.md)

# Ejemplos de referencia a variables predefinidas
<a name="workflows-predefined-examples"></a>

En los siguientes ejemplos se muestra cómo hacer referencia a variables predefinidas en el archivo de definición del flujo de trabajo.

Para obtener más información acerca de las variables, consulte [Uso de variables predefinidas](workflows-using-predefined-variables.md).

**Topics**
+ [Ejemplo: hacer referencia a la variable predefinida CommitId "»](#workflows-working-with-variables-ex-refer-action)
+ [Ejemplo: hacer referencia a la variable predefinida BranchName «»](#workflows-working-with-variables-ex-branch)

## Ejemplo: hacer referencia a la variable predefinida CommitId "»
<a name="workflows-working-with-variables-ex-refer-action"></a>

El siguiente ejemplo muestra cómo hacer referencia a la variable predefinida `CommitId` en la acción `MyBuildAction`. La `CommitId` variable se genera automáticamente mediante CodeCatalyst. Para obtener más información, consulte [Lista de variables predefinidas](workflow-ref-action-variables.md).

Aunque en el ejemplo se muestra la variable que se utiliza en la acción de compilación, se puede utilizar `CommitId` en cualquier acción.

```
MyBuildAction:
    Identifier: aws/build@v1
    Inputs:
      Sources:
        - WorkflowSource
    Configuration:
      Steps:
      #Build Docker image and tag it with a commit ID
        - Run: docker build -t image-repo/my-docker-image:latest .
        - Run: docker tag image-repo/my-docker-image:${WorkflowSource.CommitId}
```

## Ejemplo: hacer referencia a la variable predefinida BranchName «»
<a name="workflows-working-with-variables-ex-branch"></a>

El siguiente ejemplo muestra cómo hacer referencia a la variable predefinida `BranchName` en la acción `CDKDeploy`. La `BranchName` variable se genera automáticamente mediante CodeCatalyst. Para obtener más información, consulte [Lista de variables predefinidas](workflow-ref-action-variables.md).

Aunque en el ejemplo se muestra la variable que se utiliza en la acción **AWS CDK deploy**, se puede utilizar `BranchName` en cualquier acción.

```
CDKDeploy:
    Identifier: aws/cdk-deploy@v2
    Inputs:
      Sources:
        - WorkflowSource
    Configuration:
      StackName: app-stack-${WorkflowSource.BranchName}
```

# Referencia a una variable predefinida
<a name="workflows-working-with-variables-reference-output-vars"></a>

Puedes hacer referencia a variables predefinidas en cualquier acción dentro de un CodeCatalyst flujo de trabajo de Amazon.

Utilice las siguientes instrucciones para hacer referencia a una variable predefinida en un flujo de trabajo.

Para obtener más información acerca de las variables, consulte [Uso de variables predefinidas](workflows-using-predefined-variables.md).

**Requisito previo**  
Determine el nombre de la variable predefinida a la que quiera hacer referencia, por ejemplo `CommitId`. Para obtener más información, consulte [Determinación de qué variables predefinidas emite un flujo de trabajo](workflows-working-with-variables-determine-output-vars.md).

------
#### [ Visual ]

*No disponible. Seleccione YAML para ver las instrucciones de YAML.*

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

**Referencia a una variable predefinida (editor de YAML)**

1. Abra la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Elija el proyecto.

1. En el panel de navegación, elija **CI/CD** y, a continuación, elija **Flujos de trabajo**.

1. Elija el nombre del flujo de trabajo. Puede filtrar por el nombre del repositorio de código fuente o la ramificación donde esté definido el flujo de trabajo, o bien por el nombre o el estado del flujo de trabajo.

1. Elija **Edit (Edición de)**.

1. Elija **YAML**.

1. En una CodeCatalyst acción, añada la referencia de variable predefinida mediante la siguiente sintaxis:

   ```
   ${action-group-name.action-name-or-WorkflowSource.variable-name}
   ```

   Reemplace:
   + *action-group-name*con el nombre del grupo de acciones.
**nota**  
Puede omitir *action-group-name* si no hay ningún grupo de acciones o si la variable es producida por una acción del mismo grupo de acciones.
   + *action-name-or-WorkflowSource*con:

     El nombre de la acción que genere la variable.

     o

     `WorkflowSource`, si la variable es la variable `BranchName` o `CommitId`.
   + *variable-name*con el nombre de la variable.

   Por ejemplo:

   ```
   MySecondAction:
       Configuration:
         Steps:
           - Run: echo ${MyFirstECSAction.cluster}
   ```

   Otro ejemplo.

   ```
   MySecondAction:
       Configuration:
         Steps:
           - Run: echo ${WorkflowSource.CommitId}
   ```

   Para obtener más ejemplos, consulte [Ejemplos de referencia a variables predefinidas](workflows-predefined-examples.md). Para obtener más información, consulte la [Definición de flujo de trabajo en YAML](workflow-reference.md) para su acción.

1. (Opcional) Seleccione **Validar** para validar el código de YAML del flujo de trabajo antes de confirmarlo.

1. Seleccione **Confirmar**, introduzca un mensaje de confirmación y vuelva a seleccionar **Confirmar**.

------

# Determinación de qué variables predefinidas emite un flujo de trabajo
<a name="workflows-working-with-variables-determine-output-vars"></a>

Utilice el siguiente procedimiento para determinar qué variables predefinidas emite un flujo de trabajo cuando se ejecuta. A continuación, puede hacer referencia a estas variables dentro del mismo flujo de trabajo. 

Para obtener más información acerca de las variables, consulte [Uso de variables predefinidas](workflows-using-predefined-variables.md).

**Determinación de las variables predefinidas que emite un flujo de trabajo**
+ Realice una de las siguientes acciones:
  + **Ejecute el flujo de trabajo una vez**. Una vez finalizada la ejecución, las variables emitidas por el flujo de trabajo se muestran en la pestaña **Variables** de la página de detalles de la ejecución. Para obtener más información, consulte [Visualización del estado y los detalles de la ejecución de un flujo de trabajo](workflows-view-run.md).
  + **Consulte la [Lista de variables predefinidas](workflow-ref-action-variables.md)**. Esta referencia muestra el nombre de la variable (clave) y el valor de cada variable predefinida.

**nota**  
El tamaño total máximo de las variables de un flujo de trabajo aparece en [Cuotas para flujos de trabajo en CodeCatalyst](workflows-quotas.md). Si el tamaño total supera el máximo, es posible que la acción que se produce una vez alcanzado el máximo genere un error.

# Lista de variables predefinidas
<a name="workflow-ref-action-variables"></a>

Consulte las siguientes secciones para ver las variables predefinidas generadas automáticamente por las acciones de CodeCatalyst como parte de la ejecución de un flujo de trabajo.

Para obtener más información acerca de las variables, consulte [Uso de variables predefinidas](workflows-using-predefined-variables.md).

**nota**  
Esta lista solo incluye las variables predefinidas emitidas por el origen de CodeCatalyst y las acciones de [CodeCatalyst](workflows-actions.md#workflows-actions-types). Si utiliza otros tipos de acciones, como las GitHub Actions o las acciones de CodeCatalyst Labs, consulte [Determinación de qué variables predefinidas emite un flujo de trabajo](workflows-working-with-variables-determine-output-vars.md).

**Enumeración**

**nota**  
No todas las acciones de CodeCatalyst generan variables predefinidas. Si la acción no está en la lista, no genera variables.
+ [variables BranchName '' y CommitId ''](workflows-sources-variables.md)
+ [Variables de «implementar CloudFormation pila»](deploy-action-cfn-variables.md)
+ [Variables de “Implementar en Amazon ECS”](deploy-action-ecs-variables.md)
+ [Variables de 'Implementar en clúster de Kubernetes'](deploy-action-eks-variables.md)
+ [Variables de 'Implementación de AWS CDK '](cdk-dep-action-variables.md)
+ [Variables de 'Arranque de AWS CDK '](cdk-boot-action-variables.md)
+ [Variables de invocar en AWS Lambda](lam-invoke-action-variables.md)
+ [Variables de Render Amazon ECS task definition](render-ecs-action-variables.md)