Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Suppression d’une étiquette lorsqu’une carte est ajoutée à une colonne de tableau de projet

Vous pouvez utiliser GitHub Actions pour supprimer automatiquement une étiquette quand un problème ou une demande de tirage est ajouté à une colonne spécifique d’un project board.

Remarque : Les exécuteurs hébergés sur GitHub ne sont pas pris en charge sur GitHub Enterprise Server. Vous pouvez voir plus d’informations sur le support futur planifié dans la GitHub public roadmap.

Introduction

Ce tutoriel montre comment utiliser l’action actions/github-script avec une condition pour supprimer une étiquette des problèmes et des demandes de tirage qui sont ajoutées à une colonne spécifique sur un project board. Par exemple, vous pouvez supprimer l’étiquette needs review lorsque les cartes de projet sont déplacées vers la colonne Done.

Dans le tutoriel, vous allez d’abord créer un fichier de workflow qui utilise l’action actions/github-script. Ensuite, vous personnaliserez le workflow en fonction de vos besoins.

Création du workflow

  1. Choisissez un dépôt où vous souhaitez appliquer ce workflow de gestion de projet. Vous pouvez utiliser un dépôt existant auquel vous avez accès en écriture ou en créer un nouveau. Pour plus d’informations sur la création d’un dépôt, consultez « Création d’un dépôt ».

  2. Choisissez un project board qui appartient au dépôt. Ce workflow ne peut pas être utilisé avec des projets appartenant à des utilisateurs ou à des organisations. Vous pouvez utiliser un project board, ou créer un project board. Pour plus d’informations sur la création d’un projet, consultez « Création d’un project board ».

  3. Dans votre dépôt, créez un fichier nommé .github/workflows/YOUR_WORKFLOW.yml, en YOUR_WORKFLOW remplaçant par un nom de votre choix. Il s’agit d’un fichier de workflow. Pour plus d’informations sur la création de fichiers sur GitHub, consultez « Création de fichiers ».

  4. Copiez le contenu YAML suivant dans votre fichier de workflow.

    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. Personnalisez les paramètres dans votre fichier de workflow :

    • Dans github.event.project_card.column_id == '12345678', remplacez 12345678 par l’ID de la colonne dans laquelle vous souhaitez annuler l’étiquette des problèmes et les demandes de tirage déplacées vers cet emplacement.

      Pour trouver l’ID de colonne, accédez à votre project board. En regard du titre de la colonne, cliquez sur puis cliquez sur Copier le lien de colonne. L’ID de colonne est le numéro affiché à la fin du lien copié. Par exemple, 24687531 est l’ID de colonne pour https://github.com/octocat/octo-repo/projects/1#column-24687531.

      Si vous souhaitez agir sur plusieurs colonnes, séparez les conditions avec ||. Par exemple, if github.event.project_card.column_id == '12345678' || github.event.project_card.column_id == '87654321' intervient chaque fois qu’une carte de projet est ajoutée à la colonne 12345678 ou 87654321. Les colonnes peuvent se trouver sur différents tableaux de projet.

    • Remplacez la valeur de name dans la fonction github.rest.issues.removeLabel() par le nom de l’étiquette que vous souhaitez supprimer des problèmes ou des demandes de tirage qui sont déplacés vers la ou les colonnes spécifiées. Pour plus d’informations sur les étiquettes, consultez « Gestion des étiquettes ».

  6. Commitez votre fichier de workflow dans la branche par défaut de votre dépôt. Pour plus d’informations, consultez « Création de fichiers ».

Test du workflow

Chaque fois qu’une carte de projet sur un project board de votre dépôt se déplace, ce workflow s’exécute. Si la carte est un problème ou une demande de tirage et est déplacée dans la colonne que vous avez spécifiée, le workflow supprime l’étiquette spécifiée du problème ou d’une demande de tirage. Les cartes qui sont des notes ne seront pas affectées.

Testez votre workflow en déplaçant un problème de votre project board vers la colonne cible.

  1. Ouvrez un problème dans votre référentiel. Pour plus d’informations, consultez « Création d’un problème ».
  2. Étiquetez le problème avec l’étiquette que vous souhaitez supprimer du workflow. Pour plus d’informations, consultez « Gestion des étiquettes ».
  3. Ajoutez le problème à la colonne de project board que vous avez spécifiée dans votre fichier de workflow. Pour plus d’informations, consultez « Ajout de problèmes et de demandes de tirage à un project board ».
  4. Pour afficher l’exécution du workflow qui a été déclenchée en ajoutant le problème au projet, affichez l’historique de vos exécutions de workflow. Pour plus d’informations, consultez « Affichage de l’historique des exécutions de workflows ».
  5. Une fois le workflow terminé, le problème que vous avez ajouté à la colonne de projet doit avoir l’étiquette spécifiée supprimée.

Étapes suivantes