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
Dieses Tutorial veranschaulicht, wie du die imjohnbo/issue-bot
-Aktion verwendest, um Issues für regelmäßige Aufgaben zu erstellen. Du kannst beispielsweise für jede Woche ein Issue erstellen, das als Tagesordnung für eine Teambesprechung verwendet werden soll.
In diesem Tutorial erstellst du zunächst eine Workflowdatei, die die imjohnbo/issue-bot
-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.
-
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 # Dieser Workflow verwendet Aktionen, die nicht von GitHub zertifiziert sind. # Sie werden von einem Drittanbieter bereitgestellt und unterliegen # separaten Nutzungsbedingungen, Datenschutzbestimmungen und Support # Onlinedokumentation. # GitHub empfiehlt, Aktionen an einen Commit-SHA anzuheften. # Um eine neuere Version zu erhalten, musst du den SHA aktualisieren. # Du kannst auch auf ein Tag oder einen Branch verweisen, aber die Aktion kann sich ohne Vorwarnung ändern. name: Weekly Team Sync on: schedule: - cron: 20 07 * * 1 jobs: create_issue: name: Create team sync issue runs-on: ubuntu-latest permissions: issues: write steps: - name: Create team sync issue uses: imjohnbo/issue-bot@3d96848fb5e9a4a473bb81ae62b4b4866a56e93a with: assignees: "monalisa, doctocat, hubot" labels: "weekly sync, docs-team" title: "Team sync" body: | ### Agenda - [ ] Start the recording - [ ] Check-ins - [ ] Discussion points - [ ] Post the recording ### Discussion Points Add things to discuss below - [Work this week](https://github.com/orgs/github/projects/3) pinned: false close-previous: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
Passe die Parameter in deiner Workflowdatei an:
- Ändere den Wert für
on.schedule
, um festzulegen, wann dieser Workflow ausgeführt werden soll. Im obigen Beispiel wird der Workflow jeden Montag um 7:20 Uhr UTC ausgeführt. Weitere Informationen zu geplanten Workflows findest du unter Ereignisse zum Auslösen von Workflows. - Ändere den Wert für
assignees
in die Liste der GitHub-Benutzernamen, die du dem Issue zuweisen möchtest. - Ändere den Wert für
labels
in die Liste der Bezeichnungen, die du auf das Issue anwenden möchtest. - Ändere den Wert für
title
in den Titel, den das Issue haben soll. - Ändere den Wert für
body
in den Text, der im Issuetext angezeigt werden soll. Mit dem Zeichen|
kannst du einen mehrzeiligen Wert für diesen Parameter verwenden. - Wenn du dieses Issue in deinem Repository anheften möchtest, lege
pinned
auftrue
fest. Weitere Informationen zu angehefteten Issues findest du unter Einen Issue an Dein Repository anheften. - Wenn das von diesem Workflow generierte vorherige Issue immer geschlossen werden soll, wenn ein neues Issue erstellt wird, lege
close-previous
auftrue
fest. Der Workflow schließt das jüngste Issue, das die im Feldlabels
definierten Bezeichnungen enthält. Um zu vermeiden, dass das falsche Issue geschlossen wird, verwende eine eindeutige Bezeichnung oder eine eindeutige Kombination aus Bezeichnungen.
- Ändere den Wert für
-
Committe deine Workflowdatei in den Standardbranch deines Repositorys. Weitere Informationen findest du unter Neue Dateien erstellen.
Erwartete Ergebnisse
Basierend auf dem Parameter schedule
(z. B. jeden Montag um 7:20 Uhr UTC) erstellt dein Workflow ein neues Issue mit den zugewiesenen Personen, Bezeichnungen, dem Titel und dem Textkörper, die bzw. den du angegeben hast. Wenn du pinned
auf true
festgelegt hast, heftet der Workflow das Issue an dein Repository an. Wenn du close-previous
auf TRUE festgelegt hast, schließt der Workflow das jüngste Issue mit den entsprechenden Bezeichnungen.
Hinweis: Das Ereignis schedule
kann sich in Phasen mit einer hohen Auslastung durch GitHub Actions-Workflowausführungen verzögern. Eine hohe Last ist unter anderem zu Beginn jeder Stunde zu verzeichnen. Wenn die Auslastung ausreichend hoch ist, werden einige Aufträge in der Warteschlange möglicherweise gelöscht. Um die Wahrscheinlichkeit einer Verzögerung zu verringern, kannst du deinen Workflow so planen, dass er zu einer anderen Uhrzeit ausgeführt wird.
Du kannst den Verlauf der Workflowausführungen anzeigen, um zu ermitteln, ob dieser Workflow regelmäßig ausgeführt wird. Weitere Informationen findest du unter Anzeigen des Ausführungsverlaufs eines Workflows.
Nächste Schritte
- Weitere Informationen zu weiteren Aufgaben, die du mit der
imjohnbo/issue-bot
-Aktion erledigen kannst, z. B. zum Rotieren von zugewiesenen Personen oder zum Verwenden einer Issuevorlage, findest du in der Dokumentation zuimjohnbo/issue-bot
-Aktionen. - Durchsuche GitHub nach Beispielen für Workflows, die diese Aktion verwenden.