Skip to main content

Entfernen einer Bezeichnung, wenn eine Karte einer Projekt (klassisch)-Spalte hinzugefügt wird

Mithilfe von GitHub Actions kannst du Bezeichnungen automatisch entfernen, wenn ein Issue oder ein Pull Request einer bestimmten Spalte auf einem Projekt (klassisch) hinzugefügt wird.

Einführung

In diesem Tutorial wird gezeigt, wie du die actions/github-script-Aktion zusammen mit einer Bedingung verwendest, um eine Bezeichnung von Issues und Pull Requests zu entfernen, die einer bestimmten Spalte auf einem Projekt (klassisch) hinzugefügt werden. Du kannst beispielsweise die Bezeichnung needs review entfernen, wenn Projektkarten in die Spalte Doneverschoben werden.

In diesem Tutorial erstellst du zunächst eine Workflowdatei, die die actions/github-script-Aktion verwendet. Im Anschluss passt du den Workflow an deine Anforderungen an.

Erstellen des Workflows

  1. Wähle ein Repository aus, in dem du diesen Projektverwaltungsworkflow anwenden möchtest. Du kannst ein vorhandenes Repository verwenden, auf das du Schreibzugriff hast, oder du kannst ein neues Repository erstellen. Weitere Informationen zum Erstellen eines Repositorys findest du unter Ein neues Repository erstellen.

  2. Wählen ein Projekt (klassisch) aus, das zum Repository gehört. Dieser Workflow kann nicht mit Projekten verwendet werden, die Benutzer*innen oder Organisationen gehören. Du kannst ein vorhandenes Projekt (klassisch) verwenden oder ein neues Projekt (klassisch) erstellen. Weitere Informationen zum Erstellen eines Projekts findest du unter Erstellen eines project (classic).

  3. Erstelle in deinem Repository eine Datei namens .github/workflows/YOUR_WORKFLOW.yml, und ersetze YOUR_WORKFLOW durch einen Namen deiner Wahl. Dies ist eine Workflowdatei. Weitere Informationen zum Erstellen neuer Dateien auf GitHub findest du unter Neue Dateien erstellen.

  4. Kopiere den folgenden YAML-Inhalt in deine Workflowdatei.

    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. Passe die Parameter in deiner Workflowdatei an:

    • Ersetze 12345678 in github.event.project_card.column_id == '12345678' durch die ID der Spalte, in der du Bezeichnungen von Issues und Pull Requests entfernen möchtest, die dorthin verschoben werden.

      Navigiere zu deinem Projekt (klassisch), um die Spalten-ID zu finden. Klicke neben dem Titel der Spalte auf und danach auf Spaltenlink kopieren. Bei der Zahl am Ende des kopierten Links handelt es sich um die Spalten-ID. Beispielsweise ist 24687531 die Spalten-ID für https://github.com/octocat/octo-repo/projects/1#column-24687531.

      Wenn du mehr als eine Spalte bearbeiten möchtest, trenne die Bedingungen durch ||. Zum Beispiel wird if github.event.project_card.column_id == '12345678' || github.event.project_card.column_id == '87654321' immer ausgeführt, wenn eine Projektkarte zu Spalte 12345678 oder Spalte 87654321 hinzugefügt wird. Die Spalten befinden sich möglicherweise in unterschiedlichen Projekte (klassisch).

    • Ändere den Wert für name in der Funktion github.rest.issues.removeLabel() in den Namen der Bezeichnung, die du aus Issues oder Pull Requests entfernen möchtest, die in die angegebene(n) Spalte(n) verschoben werden. Weitere Informationen zu Bezeichnungen findest du unter Verwalten von Bezeichnungen.

  6. Committe deine Workflowdatei in den Standardbranch deines Repositorys. Weitere Informationen findest du unter Neue Dateien erstellen.

Testen des Workflows

Jedes Mal, wenn eine Projektkarte in einem Projekt (klassisch) in deinem Repository verschoben wird, wird dieser Workflow ausgeführt. Wenn die Karte ein Issue oder ein Pull Request ist und in die von dir angegebene Spalte verschoben wird, wird durch den Workflow die angegebene Bezeichnung entfernt. Karten, bei denen es sich um Notizen handelt, sind nicht betroffen.

Teste deinen Workflow, indem du ein Issue in deinem Projekt (klassisch) in die Zielspalte verschiebst.

  1. Öffne ein Issue in deinem Repository. Weitere Informationen findest du unter Einen Issue erstellen.
  2. Beschrifte das Issue mit den Bezeichnungen, die vom Workflow entfernt werden sollen. Weitere Informationen findest du unter Verwalten von Bezeichnungen.
  3. Füge das Issue zu der Spalte des Projekt (klassisch) hinzu, die du in deiner Workflowdatei angegeben hast. Weitere Informationen findest du unter Hinzufügen von Issues und Pull Requests zu einem project (classic).
  4. Um die Workflowausführung anzuzeigen, die durch das Hinzufügen des Issues zum Projekt ausgelöst wurde, rufe den Verlauf deiner Workflowausführungen auf. Weitere Informationen findest du unter Anzeigen des Ausführungsverlaufs eines Workflows.
  5. Nachdem der Workflow ausgeführt wurde, sollte die angegebene Bezeichnung aus dem Issue entfernt worden sein, das du der Projektspalte hinzugefügt hast.

Nächste Schritte