Skip to main content

Enterprise Server 3.20 actualmente está disponible como versión candidata para lanzamiento.

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 por GitHub no se admiten en GitHub Enterprise Server.

Introducción

En este tutorial se muestra cómo usar la GitHub CLI para crear un asunto periódicamente. Por ejemplo, puedes crear una incidencia cada semana para usarla como agenda de una reunión de equipo. Para obtener más información sobre GitHub CLI, consulte AUTOTITLE.

En el tutorial, primero vas a crear un archivo de procesos que utiliza la GitHub CLI. 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, consulta Crear un repositorio nuevo.

  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 obtener más información sobre cómo crear nuevos archivos en GitHub, consulta Crear nuevos archivos.

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

    YAML
    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
            run: |
              if [[ $CLOSE_PREVIOUS == true ]]; then
                previous_issue_number=$(gh issue list \
                  --label "$LABELS" \
                  --json number \
                  --jq '.[0].number')
                if [[ -n $previous_issue_number ]]; then
                  gh issue close "$previous_issue_number"
                  gh issue unpin "$previous_issue_number"
                fi
              fi
              new_issue_url=$(gh issue create \
                --title "$TITLE" \
                --assignee "$ASSIGNEES" \
                --label "$LABELS" \
                --body "$BODY")
              if [[ $PINNED == true ]]; then
                gh issue pin "$new_issue_url"
              fi
            env:
              GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
              GH_REPO: ${{ github.repository }}
              TITLE: Team sync
              ASSIGNEES: monalisa,doctocat,hubot
              LABELS: weekly sync,docs-team
              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
    
  4. Personaliza los parámetros en tu archivo de flujo de trabajo:

    • Cambie el valor de 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 más información sobre los flujos de trabajo programados, consulta AUTOTITLE.
    • Cambie el valor de a la lista de nombres de usuario de GitHub que quiera asignar a la incidencia.
    • Cambie el valor de a la lista de etiquetas que quiera aplicar a la incidencia.
    • Cambie el valor de por el título que quiera que tenga la incidencia.
    • Cambie el valor de 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 en . Para más información sobre las incidencias ancladas, consulte AUTOTITLE.
    • Si quiere cerrar la incidencia anterior generada por este flujo de trabajo cada vez que se crea una nueva incidencia, establezca en . El flujo de trabajo cerrará la incidencia más reciente que tenga las etiquetas definidas en el campo . 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 más información, consulta Crear nuevos archivos.

Resultados esperados

En función del parámetro (por ejemplo, cada lunes a las 7:20 UTC), el flujo de trabajo creará un nuevo problema con los responsables, las etiquetas, el título y el cuerpo que haya especificado. Si establece en , el flujo de trabajo anclará la incidencia en el repositorio. Si establece 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. Si la carga es lo suficientemente alta, es posible que se quiten algunos trabajos en cola. 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, consulta AUTOTITLE.

Pasos siguientes

  • Para obtener más información sobre las cosas adicionales que puede hacer con GitHub CLI, como el uso de una plantilla de incidencias, consulte la documentación.
  • Busque en GitHub Marketplace para ver las acciones relacionadas con los asuntos programados.