Skip to main content

Eliminar una etiqueta cuando se agrega una tarjeta a una columna de un tablero de proyecto

Puedes utilizar las GitHub Actions para eliminar una etiqueta automáticamente cuando una incidencia o solicitud de cambios se agrega a una columna específica en un project board.

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 actions/github-script junto con un condicional para quitar una etiqueta de incidencias y solicitudes de incorporación de cambios que se agregan a una columna específica de un project board. Por ejemplo, puede quitar la etiqueta needs review cuando las tarjetas de proyecto se mueven a la columna Done.

En el tutorial, primero creará un archivo de flujo de trabajo en el que se usa la acción actions/github-script. 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. Elige un project board que pertenezca al repositorio. Este flujo de trabajo no puede utilizarse con los proyectos que pertenezcan a usuarios u organizaciones. Puedes usar un project board existente o puedes crear un nuevo project board. Para obtener más información sobre cómo crear un proyecto, consulta "Creación de un project board."

  3. 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".

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

    YAML
    name: Remove a label
    on:
      project_card:
        types:
          - moved
    jobs:
      remove_label:
        if: github.event.project_card.column_id == '12345678'
        runs-on: ubuntu-latest
        permissions:
          issues: write
          pull-requests: write
        steps:
          - uses: actions/github-script@v6
            with:
              script: |
                // this gets the number at the end of the content URL, which should be the issue/PR number
                const issue_num = context.payload.project_card.content_url.split('/').pop()
                github.rest.issues.removeLabel({
                  issue_number: issue_num,
                  owner: context.repo.owner,
                  repo: context.repo.repo,
                  name: ["needs review"]
                })
  5. Personaliza los parámetros en tu archivo de flujo de trabajo:

    • En github.event.project_card.column_id == '12345678', reemplace 12345678 por el identificador de la columna de la que quiera quitar las etiquetas de las incidencias y solicitudes de incorporación de cambios que se han movido allí.

      Para buscar el identificador de columna, ve a tu project board. Junto al título de la columna, haga clic en y luego en Copy column link (Copiar vínculo de columna). La ID de columna es el número al final del enlace que copiaste. Por ejemplo, 24687531 es el identificador de columna de https://github.com/octocat/octo-repo/projects/1#column-24687531.

      Si quiere actuar sobre más de una columna, separe las condiciones con ||. Por ejemplo, if github.event.project_card.column_id == '12345678' || github.event.project_card.column_id == '87654321' actuará cada vez que se agregue una tarjeta de proyecto a las columnas 12345678 o 87654321. Las columnas podrían estan en tableros de proyecto diferentes.

    • Cambia el valor de name en la función github.rest.issues.removeLabel() al nombre de la etiqueta que quieras eliminar de las incidencias o solicitudes de incorporación de cambios que se han movido a las columnas especificadas. Para más información sobre las etiquetas, vea "Administración de etiquetas".

  6. 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".

Prueba el flujo de trabajo

Este flujo de trabajo se ejecutará cada vez que se mueva una tarjeta de proyecto en un project board de tu repositorio. Si la tarjeta es una incidencia o una solicitud de cambios y se mueve a la columna que especificaste, entonces el flujo de trabajo eliminará las etiquetas específicas de dichas incidencias o solicitudes de incorporación de cambios. Las tarjetas que sean notas no se verán afectadas.

Prueba tu flujo de trabajo moviendo una incidencia de tu project board a la columna de destino.

  1. Abre una propuesta en tu repositorio. Para más información, vea "Creación de una incidencia".
  2. Etiqueta la incidencia con las etiquetas que quieres que elimine el flujo de trabajo. Para más información, vea "Administración de etiquetas".
  3. Agrega la incidencia a la columna del project board que has especificado en tu flujo de trabajo. Para más información, consulta "Adición de incidencias y solicitudes de incorporación de cambios a una instancia de project board".
  4. Para ver la ejecución de flujo de trabajo que se activó al agregar la propuesta al proyecto, ve el historial de tus ejecuciones de flujo de trabajo. Para más información, vea "Visualización del historial de ejecución de flujo de trabajo".
  5. Cuando se complete el flujo de trabajo, se deberá haber eliminado la etiqueta especificada en la incidencia que agregaste a la columna del proyecto.

Pasos siguientes