Skip to main content

Definir las salidas para los jobs

Crea un mapa de salidas para tus jobs.

Información general

Puede usar jobs.<job_id>.outputs para crear un objeto map de salidas para un trabajo. Las salidas de un job se encuentran disponibles para todos los jobs descendentes que dependan de este job. Para más información sobre cómo definir dependencias de trabajo, vea jobs.<job_id>.needs.

Las salidas son cadenas Unicode y pueden tener un máximo de 1 MB. El total de salidas de una ejecución de flujo de trabajo puede tener un máximo de 50 MB.

Las salidas de un trabajo que incluyen expresiones se evalúan en el ejecutor al final de cada trabajo. Las salidas que contienen secretos se redactan en el ejecutor y no se envían a GitHub Actions.

Para usar salidas de trabajo en un trabajo dependiente, puede utilizar el contexto needs. Para obtener más información, vea «Contextos».

Nota: $GITHUB_OUTPUT se comparte entre todos los pasos de un trabajo. Si usas el mismo nombre de salida en varios pasos, el último paso para escribir en la salida invalidará el valor. Si el trabajo usa una matriz y escribe en $GITHUB_OUTPUT, el contenido se sobrescribirá para cada combinación de matriz. Puedes usar el contexto matrix a fin de crear nombres de salida únicos para cada configuración de trabajo. Para obtener más información, vea «Contextos».

Ejemplo: definir salidas para un job

jobs:
  job1:
    runs-on: ubuntu-latest
    # Map a step output to a job output
    outputs:
      output1: ${{ steps.step1.outputs.test }}
      output2: ${{ steps.step2.outputs.test }}
    steps:
      - id: step1
        run: echo "test=hello" >> "$GITHUB_OUTPUT"
      - id: step2
        run: echo "test=world" >> "$GITHUB_OUTPUT"
  job2:
    runs-on: ubuntu-latest
    needs: job1
    steps:
      - env:
          OUTPUT1: ${{needs.job1.outputs.output1}}
          OUTPUT2: ${{needs.job1.outputs.output2}}
        run: echo "$OUTPUT1 $OUTPUT2"