{"meta":{"title":"Utilizar tareas en un flujo de trabajo","intro":"Utilizar flujos de trabajo para ejecutar varias tareas.","product":"GitHub Actions","breadcrumbs":[{"href":"/es/actions","title":"GitHub Actions"},{"href":"/es/actions/how-tos","title":"Procedimientos"},{"href":"/es/actions/how-tos/write-workflows","title":"Escribir flujos de trabajo"},{"href":"/es/actions/how-tos/write-workflows/choose-what-workflows-do","title":"Seleccionar qué hacen los flujos de trabajo"},{"href":"/es/actions/how-tos/write-workflows/choose-what-workflows-do/use-jobs","title":"Usar trabajos"}],"documentType":"article"},"body":"# Utilizar tareas en un flujo de trabajo\n\nUtilizar flujos de trabajo para ejecutar varias tareas.\n\n## Requisitos previos\n\nPara implementar trabajos en los flujos de trabajo, debes comprender qué son los trabajos. Consulta [Descripción de Acciones de GitHub](/es/actions/get-started/understand-github-actions#jobs).\n\n## Configurar un ID para un trabajo\n\nUsa `jobs.<job_id>` para asignar un identificador único al trabajo. La clave `job_id` es una cadena y su valor es un mapa de los datos de configuración del trabajo. Debes reemplazar `<job_id>` por una cadena que sea única para el objeto `jobs`. `<job_id>` debe empezar con una letra o `_`, y solo puede contener caracteres alfanuméricos, `-` o `_`.\n\n### Ejemplo: Crear jobs\n\nEn este ejemplo, se han creado dos trabajos y sus valores `job_id` son `my_first_job` y `my_second_job`.\n\n```yaml\njobs:\n  my_first_job:\n    name: My first job\n  my_second_job:\n    name: My second job\n```\n\n## Establecer el nombre de una tarea\n\nUsa `jobs.<job_id>.name` a fin de establecer un nombre para el trabajo, que se muestra en la UI de GitHub.\n\n## Definir tareas de prerrequisito\n\nUse `jobs.<job_id>.needs` para identificar los trabajos que se deben completar correctamente antes de que se ejecute este trabajo. Puede ser una cadena o matriz de cadenas. Si un trabajo falla o se omite, se omiten todos los trabajos que dependen de él, a menos que esos trabajos usen una expresión condicional que haga que el trabajo continúe. Si una ejecución contiene una serie de trabajos que dependen unos de otros, un fallo o una omisión afecta a todos los trabajos de la cadena de dependencias a partir del punto en que se produce dicho fallo o dicha omisión. Si deseas que un trabajo se ejecute incluso si el trabajo del que depende no se realizó correctamente, usa la expresión condicional `always()` en `jobs.<job_id>.if`.\n\n### Ejemplo: Exigir que los trabajos dependientes se completen correctamente\n\n```yaml\njobs:\n  job1:\n  job2:\n    needs: job1\n  job3:\n    needs: [job1, job2]\n```\n\nEn este ejemplo, `job1` se debe completar correctamente antes de que comience `job2` y `job3` espera a que se completen `job1` y `job2`.\n\nEn este ejemplo, los trabajos se ejecutan de manera secuencial:\n\n1. `job1`\n2. `job2`\n3. `job3`\n\n### Ejemplo: No requerir jobs dependientes exitosos\n\n```yaml\njobs:\n  job1:\n  job2:\n    needs: job1\n  job3:\n    if: ${{ always() }}\n    needs: [job1, job2]\n```\n\nEn este ejemplo, `job3` usa la expresión condicional `always()` para que siempre se ejecute después de que se hayan completado `job1` y `job2`, independientemente de si se han realizado correctamente. Para más información, consulta [Evaluación de expresiones en flujos de trabajo y acciones](/es/actions/reference/workflows-and-actions/expressions#status-check-functions).\n\n## Uso de una matriz para ejecutar trabajos con variables diferentes\n\nPara ejecutar automáticamente un trabajo con diferentes combinaciones de variables, como sistemas operativos o versiones de lenguaje, define una estrategia de `matrix` en el flujo de trabajo.\n\nPara más información, consulta [Ejecución de variaciones de trabajos en un flujo de trabajo](/es/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations)."}