Hinweis: GitHub-gehostete Runner werden auf GitHub Enterprise Server derzeit nicht unterstützt. Weitere Informationen zur geplanten zukünftigen Unterstützung findest Du in der GitHub public roadmap.
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 Done
verschoben 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
-
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.
-
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).
-
Erstelle in deinem Repository eine Datei namens
.github/workflows/YOUR_WORKFLOW.yml
, und ersetzeYOUR_WORKFLOW
durch einen Namen deiner Wahl. Dies ist eine Workflowdatei. Weitere Informationen zum Erstellen neuer Dateien auf GitHub findest du unter Neue Dateien erstellen. -
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"] })
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"] })
-
Passe die Parameter in deiner Workflowdatei an:
-
Ersetze
12345678
ingithub.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ürhttps://github.com/octocat/octo-repo/projects/1#column-24687531
.Wenn du mehr als eine Spalte bearbeiten möchtest, trenne die Bedingungen durch
||
. Zum Beispiel wirdif github.event.project_card.column_id == '12345678' || github.event.project_card.column_id == '87654321'
immer ausgeführt, wenn eine Projektkarte zu Spalte12345678
oder Spalte87654321
hinzugefügt wird. Die Spalten befinden sich möglicherweise in unterschiedlichen Projekte (klassisch). -
Ändere den Wert für
name
in der Funktiongithub.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.
-
-
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.
- Öffne ein Issue in deinem Repository. Weitere Informationen findest du unter Einen Issue erstellen.
- Beschrifte das Issue mit den Bezeichnungen, die vom Workflow entfernt werden sollen. Weitere Informationen findest du unter Verwalten von Bezeichnungen.
- 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).
- 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.
- 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
- Informationen zu weiteren Optionen für die Aktion
actions/github-script
findest du in der Dokumentation zur Aktionactions/github-script
. - Durchsuche GitHub nach Beispielen für Workflows, die diese Aktion verwenden.