Skip to main content

Programar la creación de propuestas

Puedes utilizar GitHub Actions para crear una propuesta frecuentemente para asuntos como juntas diarias o revisiones trimestrales.

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

Introducción

En este tutorial se muestra cómo usar la acción imjohnbo/issue-bot para crear una incidencia de forma periódica. Por ejemplo, puedes crear una propuesta semanalmente o utilizarla como el itinerario de una junta de equipo.

En el tutorial, primero creará un archivo de flujo de trabajo en el que se usa la acción imjohnbo/issue-bot. Después, personalizarás el flujo de trabajo de acuerdo con tus necesidades.

Crear un flujo de trabajo

  1. Elige un repoisitorio en donde quieras aplicar este fluljo de trabajo de administración de proyectos. Puedes utilizar un repositorio existente al cual tengas acceso de escritura o puedes crear un repositorio nuevo. Para más información sobre cómo crear un repositorio, vea "Creación de un repositorio".

  2. En el repositorio, cree un archivo denominado .github/workflows/YOUR_WORKFLOW.yml, y reemplace YOUR_WORKFLOW por el nombre que prefiera. Este es un archivo de flujo de trabajo. Para más información sobre cómo crear archivos en GitHub, vea "Creación de archivos".

  3. Copia el siguiente contenido de YAML en tu archivo de flujo de trabajo.

    YAML
    # Este flujo de trabajo usa acciones que no GitHub no certifica.
    # Estas las proporcionan entidades terceras y las gobiernan
    # condiciones de servicio, políticas de privacidad y documentación de soporte
    # en línea.
    
    # GitHub recomienda anclar acciones a un SHA de confirmación.
    # Para obtener una versión más reciente, debes actualizar el SHA.
    # También puedes hacer referencia a una etiqueta o rama, pero la acción puede cambiar sin ninguna advertencia.
    
    name: Weekly Team Sync
    on:
      schedule:
        - cron: 20 07 * * 1
    
    jobs:
      create_issue:
        name: Create team sync issue
        runs-on: ubuntu-latest
        permissions:
          issues: write
        steps:
          - name: Create team sync issue
            uses: imjohnbo/issue-bot@3daae12aa54d38685d7ff8459fc8a2aee8cea98b
            with:
              assignees: "monalisa, doctocat, hubot"
              labels: "weekly sync, docs-team"
              title: "Team sync"
              body: |
                ### Agenda
    
                - [ ] Start the recording
                - [ ] Check-ins
                - [ ] Discussion points
                - [ ] Post the recording
                        
                ### Discussion Points
                Add things to discuss below
    
                - [Work this week](https://github.com/orgs/github/projects/3)
              pinned: false
              close-previous: false
            env:
              GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  4. Personaliza los parámetros en tu archivo de flujo de trabajo:

    • Cambie el valor de on.schedule para determinar cuándo quiere que se ejecute este flujo de trabajo. En el ejemplo anterior, el flujo de trabajo se ejecutará cada lunes a las 7:20 UTC. Para obtener más información sobre los flujos de trabajo programados, consulte "Eventos programados".
    • Cambie el valor de assignees a la lista de nombres de usuario de GitHub que quiera asignar a la incidencia.
    • Cambie el valor de labels a la lista de etiquetas que quiera aplicar a la incidencia.
    • Cambie el valor de title por el título que quiera que tenga la incidencia.
    • Cambie el valor de body por el texto que quiera que aparezca en el cuerpo de la incidencia. El carácter | permite usar un valor de varias líneas para este parámetro.
    • Si quiere anclar esta incidencia en el repositorio, establezca pinned en true. Para obtener más información sobre las incidencias ancladas, consulte "Anclaje de una incidencia al repositorio".
    • Si quiere cerrar la incidencia anterior generada por este flujo de trabajo cada vez que se crea una nueva incidencia, establezca close-previous en true. El flujo de trabajo cerrará la incidencia más reciente que tenga las etiquetas definidas en el campo labels. Para evitar que se cierre la propuesta equivocada, utiliza una etiqueta única o una combinación de etiquetas.
  5. Confirma tu archivo de flujo de trabajo en la rama predeterminada de tu repositorio. Para obtener más información, consulte "Creación de archivos".

Resultados esperados

En función del parámetro schedule (por ejemplo, cada lunes a las 7:20 UTC), el flujo de trabajo creará una nueva incidencia con los usuarios asignados, las etiquetas, el título y el cuerpo que especificó. Si establece pinned en true, el flujo de trabajo anclará la incidencia en el repositorio. Si establece close-previous en true, el flujo de trabajo cerrará la incidencia más reciente con las etiquetas coincidentes.

Nota: El evento schedule se puede retrasar durante periodos de cargas altas de ejecuciones de flujo de trabajo de GitHub Actions. Los tiempos de carga alta incluyen el inicio de cada hora. Para aminorar la posibilidad de los retrasos, programa tu flujo de trabajo para que se ejecute en una porción diferente de la hora.

Puedes ver el historial de tus ejecuciones de flujo de trabajo para ver que este flujo de trabajo se ejecute regularmente. Para más información, vea "Visualización del historial de ejecución de flujos de trabajo".

Pasos siguientes