Skip to main content

Creación de plantillas de flujo de trabajo para la organización

Obtenga información sobre cómo puede crear plantillas de flujo de trabajo para ayudar a los miembros del equipo a agregar nuevos flujos de trabajo con mayor facilidad.

¿Quién puede utilizar esta característica?

Write access to the organization's public .github repository. Templates can be used by organization members who have permission to create workflows.

Nota:

Actualmente los ejecutores hospedados por GitHub no se admiten en GitHub Enterprise Server. Puede ver más información sobre la compatibilidad futura planeada en GitHub public roadmap.

Nota:

  • Como las plantillas de flujo de trabajo necesitan un repositorio .github público, no están disponibles para Enterprise Managed Users.
  • Para evitar la duplicación entre plantillas de flujo de trabajo, puedes llamar a flujos de trabajo reutilizables desde dentro de un flujo de trabajo. Esto puede ayudar a que tus flujos de trabajo se mantengan más fácilmente. Para más información, consulta Reutilización de flujos de trabajo.

En este procedimiento se demuestra cómo crear una planitlla de flujo de trabajo y un archivo de metadatos. El archivo de metadatos describe cómo se presentarán las plantillas de flujo de trabajo a los usuarios cuando creen un flujo de trabajo.

  1. Si aún no existe, cree un nuevo repositorio público denominado .github en la organización.

  2. Cree un directorio llamado workflow-templates.

  3. Crea el nuevo archivo de flujo de trabajo dentro del directorio workflow-templates.

    Si necesitas hacer referencia a la rama predeterminada de un repositorio, puedes usar el marcador de posición $default-branch. Cuando un flujo de trabajo se crea, el marcador de posición se reemplazará automáticamente con el nombre de la rama predeterminada del repositorio.

    Nota:

    Los siguientes valores de la clave runs-on también se tratan como marcadores de posición:

    • "ubuntu-latest" se reemplaza por "[ self-hosted ]"
    • "windows-latest" se reemplaza por "[ self-hosted, windows ]"
    • "macos-latest" se reemplaza por "[ self-hosted, macOS ]"

    Por ejemplo, este archivo denominado octo-organization-ci.yml muestra un flujo de trabajo básico.

    YAML
    name: Octo Organization CI
    
    on:
      push:
        branches: [ $default-branch ]
      pull_request:
        branches: [ $default-branch ]
    
    jobs:
      build:
        runs-on: ubuntu-latest
    
        steps:
          - uses: actions/checkout@v4
    
          - name: Run a one-line script
            run: echo Hello from Octo Organization
    
  4. Crea un archivo de metadatos dentro del directorio workflow-templates. El archivo de metadatos debe tener el mismo nombre que el archivo de flujo de trabajo, pero en lugar de la extensión .yml, se le tiene que anexar .properties.json. Por ejemplo, un archivo denominado octo-organization-ci.properties.json contiene los metadatos del archivo de flujo de trabajo denominado octo-organization-ci.yml.

    JSON
    {
        "name": "Octo Organization Workflow",
        "description": "Octo Organization CI workflow template.",
        "iconName": "example-icon",
        "categories": [
            "Go"
        ],
        "filePatterns": [
            "package.json$",
            "^Dockerfile",
            ".*\\.md$"
        ]
    }
    
    • name - Obligatorio. El nombre del flujo de trabajo. Esta se muestra en la lista de flujos de trabajo disponibles.

    • description - Obligatorio. La descripción del flujo de trabajo. Esta se muestra en la lista de flujos de trabajo disponibles.

    • iconName - Opcional. Especifica un icono para el flujo de trabajo que se muestra en la lista de flujos de trabajo. iconName puede ser uno de los siguientes tipos:

      • Un archivo SVG que se almacena en el directorio workflow-templates. Para hacer referencia a un archivo, el valor debe ser el nombre de archivo sin la extensión de archivo. Por ejemplo, se hace referencia a un archivo SVG denominado example-icon.svg como example-icon.
      • Un icono del conjunto de Octicons de GitHub. Para hacer referencia a un octicon, el valor debe ser octicon <icon name>. Por ejemplo: octicon smiley.
    • categories - Opcional. Define las categorías en las que se muestra el flujo de trabajo. Puede usar nombres de categoría de las listas siguientes:

    • filePatterns - Opcional. Permite usar el flujo de trabajo si el repositorio del usuario tiene un archivo en su directorio raíz que coincide con una expresión regular definida.

Para agregar otra plantilla de flujo de trabajo, agregue los archivos al mismo directorio workflow-templates.

Pasos siguientes

Para continuar el aprendizaje sobre GitHub Actions, consulta Uso de plantillas de flujo de trabajo.