{"meta":{"title":"Uso de bloques predefinidos en el flujo de trabajo","intro":"Puedes usar y personalizar acciones escritas previamente para impulsar el flujo de trabajo.","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/find-and-customize-actions","title":"Búsqueda y personalización de acciones"}],"documentType":"article"},"body":"# Uso de bloques predefinidos en el flujo de trabajo\n\nPuedes usar y personalizar acciones escritas previamente para impulsar el flujo de trabajo.\n\n## Buscar las acciones de Marketplace en el editor de flujo de trabajo\n\nPuedes buscar y explorar acciones directamente en el editor de flujo de trabajo de tu repositorio. Desde la barra lateral, puedes buscar una acción específica, ver las acciones destacadas y explorar las categorías destacadas. También puede ver el número de estrellas que ha recibido una acción de la GitHub comunidad.\n\n1. En tu repositorio, navega hasta el archivo de flujo de trabajo que deseas editar.\n2. En la esquina superior derecha de la vista de archivo, para abrir el editor de flujo de trabajo, haga clic en <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-pencil\" aria-label=\"Edit file\" role=\"img\"><path d=\"M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z\"></path></svg>.\n\n![Captura de pantalla de un archivo de flujo de trabajo que muestra la sección de encabezado. El icono de lápiz para editar archivos está resaltado con un contorno naranja oscuro.](/assets/images/help/repository/actions-edit-workflow-file.png)\n\n1. A la derecha del editor, use la GitHub Marketplace barra lateral para examinar las acciones. Las acciones con la insignia <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-verified\" aria-label=\"Creator verified by GitHub\" role=\"img\"><path d=\"m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z\"></path></svg> indican que GitHub ha verificado al creador de la acción como una organización asociada.\n\n![Captura de pantalla de un flujo de trabajo en el editor de archivos. La barra lateral derecha muestra las acciones de Marketplace. Un distintivo \"Creador verificado por GitHub\" está delineado en naranja.](/assets/images/help/repository/actions-marketplace-sidebar.png)\n\n## Agregar una acción a tu flujo de trabajo\n\nPuedes agregar una acción a tu flujo de trabajo si la referencias en tu archivo de flujo de trabajo. Las acciones que utilizas en tu flujo de trabajo pueden definirse en:\n\n* El mismo repositorio que el archivo de flujo de trabajo\n* Cualquier repositorio público\n* Imagen de contenedor de Docker publicada en Docker Hub\n\nPuede ver las acciones a las que se hace referencia en GitHub Actions los flujos de trabajo como dependencias en el gráfico de dependencias del repositorio que contiene los flujos de trabajo. Para más información, consulta \"[Gráfica de dependencias](/es/code-security/concepts/supply-chain-security/dependency-graph)\".\n\n> \\[!NOTE]\n> Para mejorar la seguridad, GitHub Actions no admite redireccionamientos de acciones o flujos de trabajo reutilizables. Esto significa que cuando se cambia el propietario, el nombre del repositorio de una acción o el nombre de una acción, cualquier flujo de trabajo que utilice esa acción con el nombre anterior dará error.\n\n### Adición de una acción desde GitHub Marketplace\n\nLas páginas de listado de acciones incluyen la versión de la acción y la sintaxis de flujo de trabajo que se requiere para utilizar dicha acción. Para mantener estable a tu flujo de trabajo, aún cuando se hagan actualizaciones en una acción, puedes referenciar la versión de la acción a utilizar si especificas el número de etiqueta de Git o de Docker en tu archivo de flujo de trabajo.\n\n1. Navega hasta la acción que deseas usar en tu flujo de trabajo.\n2. Haga clic para ver la lista completa de Marketplace para la acción.\n3. En \"Instalación\", haga clic <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-copy\" aria-label=\"Copy to clipboard\" role=\"img\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"></path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"></path></svg> para copiar la sintaxis del flujo de trabajo.\n\n![Captura de pantalla del listado del marketplace para una acción. El icono \"Copiar al Portapapeles\" de la acción está resaltado con un contorno naranja oscuro.](/assets/images/help/repository/actions-sidebar-detailed-view.png)\n\n1. Pega la sintaxis como un nuevo paso en tu flujo de trabajo. Para más información, consulta [Sintaxis del flujo de trabajo para Acciones de GitHub](/es/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idsteps).\n2. Si la accion requiere que proprociones información de entrada, configúrala en tu flujo de trabajo. Para obtener información sobre las entradas que puede requerir una acción, consulta [Uso de bloques predefinidos en el flujo de trabajo](/es/actions/how-tos/write-workflows/choose-what-workflows-do/find-and-customize-actions#using-inputs-and-outputs-with-an-action).\n\nTambién puede habilitar Dependabot version updates para las acciones que agregue al flujo de trabajo. Para más información, consulta [Mantener tus acciones actualizadas con el Dependabot](/es/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/auto-update-actions).\n\n### Agregar una acción desde el mismo repositorio\n\nSi una acción se define en el mismo repositorio donde el archivo de flujo de trabajo usa la acción, puede hacer referencia a la acción con la referencia del `$/path/to/dir` repositorio propio o con la sintaxis o `{owner}/{repo}@{ref}` en el `./path/to/dir` archivo de flujo de trabajo. La `$/` sintaxis no está disponible en GitHub Enterprise Server.\n\nEjemplo de estructura de archivo de repositorio:\n\n```shell\n|-- hello-world (repository)\n|   |__ .github\n|       └── workflows\n|           └── my-first-workflow.yml\n|       └── actions\n|           |__ hello-world-action\n|               └── action.yml\n```\n\nSe recomienda hacer referencia a la acción con la referencia del `$/path/to/dir` repositorio propio. Esto se resuelve en el mismo repositorio en la confirmación en ejecución, por lo que no es necesario desproteger primero el repositorio. Para obtener más información sobre cómo `$/` se compara con `{owner}/{repo}@{ref}` y `./`, vea [Sintaxis del flujo de trabajo para Acciones de GitHub](/es/actions/reference/workflows-and-actions/workflow-syntax#example-using-an-action-in-the-same-repository-as-the-workflow-at-the-running-commit-recommended).\n\nArchivo de flujo de trabajo de ejemplo mediante `$/`:\n\n```yaml\njobs:\n  my_first_job:\n    runs-on: ubuntu-latest\n    steps:\n      # This step references an action in the same repository at the\n      # running commit. No repository checkout is required.\n      - name: Use hello-world-action\n        uses: $/.github/actions/hello-world-action\n```\n\nTambién puede hacer referencia a la acción con la sintaxis relativa `./path/to/dir` , pero es más propenso a errores. La ruta de acceso es relativa (`./`) al directorio de trabajo predeterminado (`github.workspace`, `$GITHUB_WORKSPACE`), por lo que requiere un paso de desprotección y, si la acción desproteger el repositorio en una ubicación distinta del flujo de trabajo, se debe actualizar la ruta de acceso relativa.\n\nArchivo de flujo de trabajo de ejemplo mediante `./`:\n\n```yaml\njobs:\n  my_first_job:\n    runs-on: ubuntu-latest\n    steps:\n      # This step checks out a copy of your repository.\n      - name: My first step - check out repository\n        uses: actions/checkout@v6\n      # This step references the directory that contains the action.\n      - name: Use local hello-world-action\n        uses: ./.github/actions/hello-world-action\n```\n\nEl archivo `action.yml` se usa a fin de proporcionar metadatos para la acción. Obtenga información sobre el contenido de este archivo en [Guía de referencia de la sintaxis de metadatos](/es/actions/reference/workflows-and-actions/metadata-syntax).\n\n### Agregar una acción desde un repositorio diferente\n\nSi se define una acción en un repositorio diferente al del archivo de flujo de trabajo, puede hacer referencia a la acción con la sintaxis `{owner}/{repo}@{ref}` en el archivo de flujo de trabajo.\n\nLa acción debe almacenarse en un repositorio.\n\n```yaml\njobs:\n  my_first_job:\n    steps:\n      - name: My first step\n        uses: actions/setup-node@v7\n```\n\n### Hacer referencia a un contenedor en Docker Hub\n\nSi una acción se define en una imagen de contenedor de Docker publicada en Docker Hub, debe hacer referencia a la acción con la sintaxis de `docker://{image}:{tag}` en el archivo de flujo de trabajo. Para proteger el código y los datos, se recomienda comprobar la integridad de la imagen de contenedor de Docker desde Docker Hub antes de usarla en el flujo de trabajo.\n\n```yaml\njobs:\n  my_first_job:\n    steps:\n      - name: My first step\n        uses: docker://alpine:3.8\n```\n\nPara obtener algunos ejemplos de acciones de Docker, consulta el [flujo de trabajo Docker-image.yml](https://github.com/actions/starter-workflows/blob/main/ci/docker-image.yml) y [Creación de una acción de contenedor de Docker](/es/actions/tutorials/use-containerized-services/create-a-docker-container-action).\n\n### Fortalecimiento de la seguridad para el uso de acciones en flujos de trabajo\n\nGitHub proporciona características de seguridad que puede usar para aumentar la seguridad de los flujos de trabajo. Puede usar las funciones integradas de GitHub para asegurarse de recibir notificaciones sobre vulnerabilidades en las acciones que usa, o para automatizar el proceso de mantener actualizadas las acciones de sus flujos de trabajo. Para más información, consulta [Referencia de uso seguro](/es/actions/reference/security/secure-use).\n\n## Utilizar la administración de lanzamientos para tus acciones personalizadas\n\nLos creadores de una acción comunitaria tienen la opción de utilizar etiquetas, ramas, o valores de SHA para administrar los lanzamientos de la acción. Similar a cualquier dependencia, debes indicar la versión de la acción que te gustaría utilizar basándote en tu comodidad con aceptar automáticamente las actualizaciones para dicha acción.\n\nDesignarás la versión de la acción en tu archivo de flujo de trabajo. Revisa la documentación de la acción para encontrar información de su enfoque sobre la administración de lanzamientos, y para ver qué etiqueta, rama, o valor de SHA debes utilizar.\n\n> \\[!NOTE]\n> Se recomienda utilizar un valor SHA al emplear acciones de terceros. Sin embargo, es importante tener en cuenta que Dependabot solo creará Dependabot alerts para GitHub Actions vulnerables que usan versionado semántico. Para más información, consulta [Referencia de uso seguro](/es/actions/reference/security/secure-use#using-third-party-actions) y [Alertas de Dependabot](/es/code-security/concepts/supply-chain-security/dependabot-alerts).\n\n### Usar etiquetas\n\nLas etiquetas son útiles para que te permitan decidir cuándo cambiar entre versiones mayores y menores, pero son más efímeras y el mantenedor puede moverlas o borrarlas. Este ejemplo se muestra cómo seleccionar una acción etiquetada como `v1.0.1`:\n\n```yaml\nsteps:\n  - uses: actions/javascript-action@v1.0.1\n```\n\n### Utilizar SHAs\n\nSi necesitas utilizar un versionamiento más confiable, debes utilizar el valor de SHA asociado con la versión de la acción. Los SHA son inmutables y, por lo tanto, más confiables que las etiquetas o las ramas. Sin embargo, este acercamiento significa que no recibirás actualizaciones para una acción automáticamente, incluyendo las correcciones de errores y actualizaciones de seguridad. Debes utilizar un valor SHA completo de la confirmación y no un valor abreviado.\nAl seleccionar un SHA, debe comprobar que se encuentra en el repositorio de la acción y no en una bifurcación de repositorio. Este ejemplo toma como objetivo el SHA de una acción:\n\n```yaml\nsteps:\n  - uses: actions/javascript-action@a824008085750b8e136effc585c3cd6082bd575f\n```\n\n### Utilizar ramas\n\nEl especificar una rama destino para la acción significa que ésta siempre ejecutará la versión que se encuentre actualmente en dicha rama. Este enfoque puede crear problemas si una actualización a la rama incluye cambios disruptivos. Este ejemplo tiene como destino una rama denominada `@main`:\n\n```yaml\nsteps:\n  - uses: actions/javascript-action@main\n```\n\nPara más información, consulta [Administración de acciones personalizadas](/es/actions/how-tos/create-and-publish-actions/manage-custom-actions#using-release-management-for-actions).\n\n## Utilizar entradas y salidas con una acción\n\nUna acción a menudo acepta o requiere entradas y genera salidas que puedes utilizar. Por ejemplo, una acción podría requerir que especifiques una ruta a un archivo, el nombre de una etiqueta, u otros datos que utilizará como parte del procesamiento de la misma.\n\nPara ver las entradas y salidas de una acción, revisa `action.yml` en el directorio raíz del repositorio.\n\nEn este ejemplo `action.yml`, la palabra clave `inputs` define una entrada necesaria denominada `file-path` e incluye un valor predeterminado que se usará si no se especifica ninguno. La palabra clave `outputs` define una salida denominada `results-file`, que indica dónde buscar los resultados.\n\n```yaml\nname: \"Example\"\ndescription: \"Receives file and generates output\"\ninputs:\n  file-path: # id of input\n    description: \"Path to test script\"\n    required: true\n    default: \"test-file.js\"\noutputs:\n  results-file: # id of output\n    description: \"Path to results file\"\n```"}