Zurück zur Übersicht

Zeitlicht in GitHub Actions nutzen

Ich möchte …

… einen GitHub-Workflow Aufgaben ändern lassen, zum Beispiel eine Aufgabe an die Tester übergeben, sobald ihr Pull Request gemergt ist.

Bevor du startest

  • Du brauchst einen API-Schlüssel dieses Arbeitsbereichs, siehe „API-Schlüssel erstellen und widerrufen“. Erstelle einen eigenen nur für GitHub, mit Lesen und schreiben und nur den Boards, die der Workflow braucht.
  • Die Action ruft die Kommandozeile zl auf, siehe „Die Kommandozeile zl nutzen“.
  • API-Schlüssel brauchen den Ultra-Plan der Person mit der Rolle Inhaber oder Admin, die sie erstellt, und sind in der Beta.

So geht's

  1. Öffne in deinem GitHub-Repository Settings, dann Secrets and variables, dann Actions, und lege den Schlüssel als Secret mit dem Namen ZEITLICHT_API_KEY an.
  2. Benenne Branches nach der Kurz-ID der Aufgabe, etwa 3f2a9c1e-login-fix, oder schreib die Kurz-ID in den Titel des Pull Requests. Dort findet die Action sie.
  3. Lege in .github/workflows/ eine Workflow-Datei mit einem Schritt uses: vince8000/zeitlicht-action@ und dahinter einem Commit-SHA an. Setze unter with den Wert api-key auf ${{ secrets.ZEITLICHT_API_KEY }}, task-from auf branch oder pr-title und args auf den Befehl für zl, ein Argument pro Zeile.
  4. In args steht {task} für die Aufgaben-ID, die die Action gefunden hat. Um die Aufgabe an die Tester zu übergeben, lauten die Zeilen test, request, {task}, --instructions-file und TESTING.md, auf Wunsch dazu --tester mit einer E-Mail-Adresse und --move-to mit einer Spalten-ID.
  5. Um auch den Pull Request zu verlinken, ergänze einen zweiten Schritt mit den Zeilen link, add, {task} und der Adresse des Pull Requests.
  6. Merge einen Pull Request. Der Workflow-Lauf zeigt die Antwort des Befehls, und die Aufgabe zeigt die Änderung.

Das Ergebnis

Der Workflow ändert die Aufgabe in deinem Namen, im Verlauf der Aufgabe mit dem Namen des Schlüssels daneben. Jede Anfrage erscheint im Zugriffsprotokoll des Schlüssels.

Häufige Fragen

Warum ein Argument pro Zeile?

Damit nichts aus einem Branch-Namen oder Titel eines Pull Requests als Befehl laufen kann. Die Action gibt deine Argumente nie an eine Shell weiter.

Kann der Text des Pull Requests die Test-Anleitung werden?

Ja. Schreib den Text in einem früheren Schritt in eine Datei, mit dem Text des Pull Requests als Umgebungsvariable, und gib diese Datei an --instructions-file.

Sollte ich die Action pinnen?

Ja, per Commit-SHA statt mit einem Tag wie v1. Dann kann sich eine veränderte Action nicht unbemerkt in deinen Workflow schleichen.

Verwandte Themen