Hinweis
Auf GitHub gehostete Runner werden aktuell nicht auf GitHub Enterprise Server unterstützt.
Einführung
In diesem Tutorial erfährst du, wie du die Aktion verwendest, um Issues, die für einen bestimmten Zeitraum inaktiv waren, zu kommentieren und zu schließen. Du kannst beispielsweise kommentieren, wenn ein Problem 30 Tage lang inaktiv war, um Teilnehmer dazu zu veranlassen, aktiv zu werden. Wenn nach 14 Tagen keine zusätzliche Aktivität erfolgt, kann das Problem geschlossen werden.
In diesem Tutorial erstellst du zunächst eine Workflowdatei, die die -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_WORKFLOWdurch 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: Close inactive issues on: schedule: - cron: "30 1 * * *" jobs: close-issues: runs-on: ubuntu-latest permissions: issues: write pull-requests: write steps: - uses: actions/stale@v10 with: days-before-issue-stale: 30 days-before-issue-close: 14 stale-issue-label: "stale" stale-issue-message: "This issue is stale because it has been open for 30 days with no activity." close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale." days-before-pr-stale: -1 days-before-pr-close: -1 repo-token: ${{ secrets.GITHUB_TOKEN }}name: Close inactive issues on: schedule: - cron: "30 1 * * *" jobs: close-issues: runs-on: ubuntu-latest permissions: issues: write pull-requests: write steps: - uses: actions/stale@v10 with: days-before-issue-stale: 30 days-before-issue-close: 14 stale-issue-label: "stale" stale-issue-message: "This issue is stale because it has been open for 30 days with no activity." close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale." days-before-pr-stale: -1 days-before-pr-close: -1 repo-token: ${{ secrets.GITHUB_TOKEN }} -
Passe die Parameter in deiner Workflowdatei an:
- Ändere den Wert für , um festzulegen, wann dieser Workflow ausgeführt werden soll. Im obigen Beispiel wird der Workflow täglich um 1:30 Uhr (UTC) ausgeführt. Weitere Informationen zu geplanten Workflows findest du unter AUTOTITLE.
- Ändere den Wert für auf die Anzahl von Tagen ohne Aktivität, bevor die Aktion ein Problem labelt. Wenn Sie niemals möchten, dass diese Aktion Probleme etikettiert, setzen Sie diesen Wert auf .
- Ändere den Wert für in die Anzahl von Tagen ohne Aktivität, nach der die Aktion ein Issue schließen soll. Wenn diese Aktion niemals Issues schließen soll, lege diesen Wert auf fest.
- Ändere den Wert für in die Bezeichnung, die auf Issues angewendet werden soll, die für den durch angegebenen Zeitraum inaktiv waren.
- Ändere den Wert für in den Kommentar, der Issues hinzugefügt werden soll, die durch die Aktion beschriftet werden.
- Ändere den Wert für in den Kommentar, der Issues hinzugefügt werden soll, die durch die Aktion geschlossen werden.
-
Committe deine Workflowdatei in den Standardbranch deines Repositorys. Weitere Informationen finden Sie unter Neue Dateien erstellen.
Erwartete Ergebnisse
Basierend auf dem Parameter (z. B. jeden Tag um 1:30 Uhr UTC), sucht dein Workflow nach Issues, die für den angegebenen Zeitraum inaktiv waren, und fügt den angegebenen Kommentar und die angegebene Bezeichnung hinzu. Darüber hinaus schließt dein Workflow alle zuvor beschrifteten Probleme, wenn für den angegebenen Zeitraum keine weitere Aktivität stattgefunden hat.
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 finden Sie unter AUTOTITLE.
Dieser Workflow beschriftet und/oder schließt immer nur 30 Probleme gleichzeitig, um die Überschreitung einer Ratenbegrenzung zu vermeiden. Dies kann mithilfe der Einstellung konfiguriert werden. Weitere Informationen findest du in der Dokumentation zur Aktion .
Nächste Schritte
- Informationen zu weiteren Möglichkeiten mit der Aktion (etwa Schließen inaktiver Pull Requests, Ignorieren von Issues mit bestimmten Bezeichnungen oder Meilensteinen oder Beschränken der Überprüfung von Issues auf Issues mit bestimmten Bezeichnungen) findest du in der Dokumentation zur Aktion .
-
[Search GitHub](https://github.com/search?q=%22uses%3A+actions%2Fstale%22&type=code) für Beispiele für Workflows, die diese Aktion verwenden.