Skip to main content

Eliminación de una etiqueta cuando se agrega una tarjeta a una columna de un proyecto (clásico)

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 proyecto (clásico).

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 proyecto (clásico). 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, consulta "Crear un repositorio nuevo".

  2. Elige un proyecto (clásico) que pertenezca al repositorio. Este flujo de trabajo no puede utilizarse con los proyectos que pertenezcan a usuarios u organizaciones. Puedes usar un proyecto (clásico) existente o puedes crear un nuevo proyecto (clásico). Para más información sobre cómo crear un proyecto, consulta "Creación de una instancia de project (classic)".

  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 obtener más información sobre cómo crear nuevos archivos en GitHub, consulte "Crear nuevos 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 proyecto (clásico). Junto al título de la columna, haz clic en y después en 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 pueden estar en diferentes proyecto (clásico).

    • 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 obtener más información sobre las etiquetas, consulta "Administrar las etiquetas".

  6. Confirma tu archivo de flujo de trabajo en la rama predeterminada de tu repositorio. Para obtener más información, vea «Crear nuevos archivos».

Prueba el flujo de trabajo

Este flujo de trabajo se ejecutará cada vez que se mueva una tarjeta de proyecto en un proyecto (clásico) 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 proyecto (clásico) a la columna de destino.

  1. Abre una propuesta en tu repositorio. Para obtener más información, vea «Crear una propuesta».
  2. Etiqueta la incidencia con las etiquetas que quieres que elimine el flujo de trabajo. Para obtener más información, vea «Administrar las etiquetas».
  3. Agrega la incidencia a la columna del proyecto (clásico) que has especificado en tu flujo de trabajo. Para obtener más información, vea «Adición de incidencias y solicitudes de incorporación de cambios a una instancia de project (classic)».
  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 obtener más información, vea «Visualizar el historial de ejecución del 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