- Angelegt von //SEIBERT/MEDIA Mitarbeiter, zuletzt geändert am Mär 18, 2024
Jira Cloud Dokumentation
Vorgänge mit Smart Commits bearbeiten
Wenn du die Repositories deines Projekts in Bitbucket oder GitHub verwaltest oder Fisheye zum Durchsuchen deiner Repositories verwendest, kannst du deine Jira Software Vorgänge mit speziellen Befehlen, sogenannten Smart Commits, in deinen Commit-Nachrichten bearbeiten.
So kannst du:
- Vorgänge kommentieren
- Informationen zur Zeiterfassung zu Vorgängen erfassen
- Vorgänge in einen Status überführen, der im Workflow des Jira Software Projekts definiert ist.
Es gibt noch weitere Aktionen möglich, wenn du Crucible für Software-Reviews verwendest. Mehr dazu findest du in der Crucible-Dokumentation unter Smart Commits verwenden. (Englisch)
Ein Smart Commit-Befehl darf sich nicht über mehr als eine Zeile erstrecken (d.h. du kannst keine Zeilenumbrüche im Befehl verwenden), aber du kannst mehrere Befehle in dieselbe Zeile einfügen. Schau dir dazu das folgende Beispiel unten an.
Smart Commit-Befehle
Die grundlegende Syntax für eine Smart Commit-Nachricht lautet:
<ignored text> <ISSUE_KEY> <ignored text> #<COMMAND> <optional COMMAND_ARGUMENTS>
Jeder Text zwischen dem Issue Key und dem Command wird ignoriert.
Es gibt drei Befehle, die du in deinen Smart Commit-Nachrichten verwenden kannst:
- comment
- time
- transition
Comment
Beschreibung | Fügt einen Kommentar zu einem Jira Software Vorgang hinzu. |
---|---|
Syntax | <ignored text> <ISSUE_KEY> <ignored text> #comment <comment_string> |
Beispiel | JRA-34 #comment Vorgang mit Einzug korrigiert JRA-34 #comment Vorgang mit Einzug korrigiert |
Anmerkungen | Die E-Mail Adresse des Committers muss mit der E-Mail Adresse eines einzelnen Jira Software Benutzers übereinstimmen, der berechtigt ist, Vorgänge in diesem Projekt zu kommentieren. |
Time
Beschreibung | Erfasst Zeiterfassungsinformationen zu einem Vorgang. |
---|---|
Syntax | <ignored text> <ISSUE_KEY> <ignored text> #time <value>w <value>d <value>h <value>m <comment_string> |
Beispiel | JRA-34 #time 1w 2d 4h 30m Erfasste Arbeit gesamt JRA-34 #time 1w 2d 4h 30m Erfasste Arbeit gesamt |
Anmerkungen | In diesem Beispiel werden 1 Woche, 2 Tage, 4 Stunden und 30 Minuten für den Vorgang erfasst und der Kommentar Erfasste Arbeit gesamt auf dem Tab Arbeitsprotokoll des Vorgangs hinzugefügt.
|
Workflow transitions
Beschreibung | Versetzt einen Jira Software-Vorgang in einen bestimmten Workflow-Status. |
---|---|
Syntax | <ignored text> <ISSUE_KEY> <ignored text> #<transition_name> #comment <comment_string> |
Beispiel | JRA-090 #close #comment Das wurde heute behoben JRA-090 #close #comment Das wurde heute behoben |
Anmerkungen | Dieses Beispiel führt den Workflow-Übergang zum Schließen des Vorgangs aus und fügt dem Vorgang den Kommentar Das wurde heute behoben hinzu. Es gibt einige Ausnahmen zu dieser Syntax:
Du kannst die benutzerdefinierten Befehle sehen, die für die Verwendung mit Smart Commits zur Verfügung stehen, indem du den Jira Vorgang besuchst und dir die verfügbaren Workflow-Übergänge ansiehst:
Der Smart Commit berücksichtigt nur den Teil eines Übergangsnamens, der vor dem ersten Leerzeichen steht. Für einen Übergangsnamen wie finish work ist es also ausreichend, #finish einzugeben. Du musst die Leerzeichen durch Bindestriche ersetzen, wenn die Namen der Übergänge mehrdeutig sein sollen, z. B.: #finish-work. Wenn ein Workflow zwei gültige Übergänge hat, wie z.B.:
Ein Smart Commit mit der Aktion #start ist zweideutig, weil es einen der beiden Übergänge bedeuten kann. Wenn du einen dieser beiden Übergänge angeben willst, musst du den gewünschten Übergang mit #start-review oder #start-progress vollständig definieren.
|
Zeige Entwicklungsinformationen zu deinen Jira Vorgängen an
Um verknüpfte Entwicklungsinformationen in einem Jira Vorgang anzuzeigen:
- Navigiere zu dem Vorgang.
- Wähle unter Entwicklung die Anzahl der Pull Requests, Branches oder Commits aus, um zusätzliche Informationen zu erhalten.
Fortgeschrittene Beispiele
Mehrere Befehle für einen einzigen Vorgang
Syntax | <ISSUE_KEY> #<COMMAND_1> <optional COMMAND_1_ARGUMENTS> #<COMMAND_2> <optional COMMAND_2_ARGUMENTS> ... #<COMMAND_n> <optional COMMAND_n_ARGUMENTS> <ISSUE_KEY> #<COMMAND_1> <optional COMMAND_1_ARGUMENTS> #<COMMAND_2> <optional COMMAND_2_ARGUMENTS> ... #<COMMAND_n> <optional COMMAND_n_ARGUMENTS> |
---|---|
Commit Nachricht | JRA-123 #time 2d 5h #comment Aufgabe vorzeitig abgeschlossen #resolve JRA-123 #time 2d 5h #comment Aufgabe vorzeitig abgeschlossen #resolve |
Ergebnis | Protokolliert 2 Tage und 5 Stunden Arbeit für den Vorgang JRA-123, fügt den Kommentar "Aufgabe vorzeitig abgeschlossen" hinzu, |
Mehrere Befehle über mehrere Zeilen in einem einzigen Vorgang
Syntax | <ISSUE_KEY> #<COMMAND_1> <optional COMMAND_1_ARGUMENTS> #<COMMAND_2> <optional COMMAND_2_ARGUMENTS> ... #<COMMAND_n> <optional COMMAND_n_ARGUMENTS> <ISSUE_KEY> #<COMMAND_1> <optional COMMAND_1_ARGUMENTS> #<COMMAND_2> <optional COMMAND_2_ARGUMENTS> ... #<COMMAND_n> <optional COMMAND_n_ARGUMENTS> |
---|---|
Commit Nachricht | JRA-123 #comment Stell dir vor, das ist ein wirklich, und ich JRA-123 #comment Stell dir vor, das ist ein wirklich, und ichmein wirklich, langer Kommentar #time 2d 5h mein wirklich, langer Kommentar #time 2d 5h |
Ergebnis | Fügt den Kommentar "Stell dir vor, das ist ein wirklich, und ich" hinzu, lässt aber den Rest des Kommentars weg. Die Arbeitszeit von 2 Tagen und 5 Stunden wird nicht für den Vorgang protokolliert, weil es für den Befehl #time in der zweiten Zeile keinen Schlüssel für den Vorgang gibt. Das heißt, jede Zeile der Commit-Meldung muss der Smart Commit-Syntax entsprechen. Dieses Beispiel würde wie erwartet funktionieren, wenn es so formuliert wäre: JRA-123 #comment Stell dir vor, dass dies ein wirklich, und ich meine wirklich, langer Kommentar JRA-123 #comment Stell dir vor, dass dies ein wirklich, und ich meine wirklich, langer KommentarJRA-123 #time 2d 5h JRA-123 #time 2d 5h |
Ein einziger Befehl für mehrere Vorgänge
Syntax | <ISSUE_KEY1> <ISSUE_KEY2> <ISSUE_KEY3> #<COMMAND> <optional COMMAND_ARGUMENTS> etc <ISSUE_KEY1> <ISSUE_KEY2> <ISSUE_KEY3> #<COMMAND> <optional COMMAND_ARGUMENTS> etc |
---|---|
Commit Nachricht | JRA-123 JRA-234 JRA-345 #resolve JRA-123 JRA-234 JRA-345 #resolve |
Ergebnis | Behebt die Vorgänge JRA-123, JRA-234 und JRA-345. Mehrere Vorgänge müssen durch Leerzeichen oder Kommas getrennt werden. |
Mehrere Befehle für mehrere Vorgänge
Syntax | <ISSUE_KEY1> <ISSUE_KEY2> ... <ISSUE_KEYn> #<COMMAND_1> <optional COMMAND_1_ARGUMENTS> #<COMMAND_2> <optional COMMAND_2_ARGUMENTS> ... #<COMMAND_n> <optional COMMAND_n_ARGUMENTS> <ISSUE_KEY1> <ISSUE_KEY2> ... <ISSUE_KEYn> #<COMMAND_1> <optional COMMAND_1_ARGUMENTS> #<COMMAND_2> <optional COMMAND_2_ARGUMENTS> ... #<COMMAND_n> <optional COMMAND_n_ARGUMENTS> |
---|---|
Commit Nachricht | JRA-123 JRA-234 JRA-345 #resolve #time 2d 5h #comment Aufgabe vorzeitig abgeschlossen JRA-123 JRA-234 JRA-345 #resolve #time 2d 5h #comment Aufgabe vorzeitig abgeschlossen |
Ergebnis | Protokolliert 2 Tage und 5 Stunden Arbeit für die Vorgänge JRA-123, JRA-234 und JRA-345, fügt allen drei Vorgängen den Kommentar "Aufgabe vorzeitig abgeschlossen" hinzu und löst alle drei Vorgänge. Mehrere Vorgangsschlüssel müssen durch Leerzeichen oder Kommas getrennt werden. |
Smart Commits zum Laufen bringen
Es ist ganz einfach, Smart Commits für deine Instanz von Jira Software zu aktivieren:
Programm | Verbindungsanweisungen |
---|---|
Bitbucket Cloud | Verbinde zunächst deine Jira Software- und Bitbucket-Konten. Weitere Informationen findest du unter Jira Cloud mit Bitbucket Cloud verbinden. (Englisch) Aktiviere dann Smart Commits in der Jira Software. Weitere Informationen findest du unter Aktiviere Smart Commits. (Englisch) |
GitHub | Verknüpfe zunächst deine Jira Software- und GitHub-Konten. Weitere Informationen findest du unter Jira Cloud mit GitHub verbinden. (Englisch) Aktiviere dann Smart Commits in der Jira Software. Weitere Informationen findest du unter Aktiviere Smart Commits. (Englisch) |
Bitbucket Server | Erstelle eine Anwendungsverbindung zwischen Jira Software und Bitbucket Server. Weitere Informationen findest du unter Verknüpfung von Bitbucket Server mit Jira. (Englisch) Aktiviere dann Smart Commits in der Jira Software. Weitere Informationen findest du unter Aktiviere Smart Commits. (Englisch) |
Fisheye | Erstelle eine Anwendungsverknüpfung zwischen Jira Software und Fisheye. Weitere Informationen findest du unter Verknüpfung mit einer anderen Anwendung. (Englisch) Aktiviere dann Smart Commits in der Jira Software. Weitere Informationen findest du unter Aktiviere Smart Commits. (Englisch) |
Crucible | Erstelle eine Anwendungsverknüpfung zwischen Jira Software und Crucible. Weitere Informationen findest du unter Verknüpfung mit einer anderen Anwendung. (Englisch) Aktiviere dann Smart Commits in der Jira Software. Weitere Informationen findest du unter Aktiviere Smart Commits. (Englisch) |
Anmerkungen
- Smart Commits unterstützen nur das Standardformat für Jira Vorgänge in Jira Software. Dieses Format besteht aus zwei oder mehr Großbuchstaben, gefolgt von einem Bindestrich und der Nummer des Vorgangs, zum Beispiel JRA-123.
- Ein DVCS wie Git enthält die E-Mail Adresse eines Benutzers in den Commit-Daten. Die Benutzer konfigurieren diese E-Mail Adresse in ihrem lokalen System. Smart Commits verlangt, dass diese E-Mail Adresse mit genau einer E-Mail Adresse in der Jira Software Benutzerbasis übereinstimmt. Wenn die E-Mail Adresse mit mehreren Benutzern in Jira Software übereinstimmt oder der Benutzer keine Berechtigung für die angeforderte Aktion hat, schlägt die Smart Commit Aktion fehl. Die Übergabe selbst ist jedoch erfolgreich und wird im Vorgang angezeigt. Nicht übereinstimmende E-Mail Adressen sind ein häufiger Grund, warum Smart Commits nicht wie erwartet funktionieren. Wenn ein Smart Commit fehlschlägt, sendet Jira Software eine E-Mail-Benachrichtigung entweder an den Jira Software-Benutzer oder an den DVCS-Benutzer (wenn kein Jira Software-Benutzer ermittelt werden kann). In seltenen Fällen verfügt Jira Software über keine der beiden E-Mail Adressen und der Smart Commit schlägt fehl.
Smart-Commit-Befehle, die du ausführst, werden unter bestimmten Umständen doppelt angezeigt. Das Ändern der Commit-Historie erzeugt "neue" Commits, die die "alten" ersetzen. Wenn diese "neuen" Commits die gleichen Smart Commit-Befehle enthalten wie vor der Änderung der Historie, werden die gleichen Smart Commits erneut ausgeführt und erscheinen daher doppelt. Zu den Git-Befehlen, die den Commit-Verlauf ändern, gehören git push --force und git merge --squash.
Früher hat Bitbucket bei der Übermittlung von Ereignissen das Merge Commit Flag nicht an Jira gesendet. Daher behandelte "Smart Commits" alle Commits als normale Commits. Jetzt enthält das CommitEvent, das an EventDelivery gesendet wird, das Flag COMMIT_MERGED. Verwende daher das unten stehende Standardformat für Merge Commits:
Zusammengeführt in <branch name> (pull request #<PR id>) <PR Titel>
Zusammengeführt in <branch name> (pull request #<PR id>)
<PR Titel>
Es wird empfohlen, die Smart-Commit-Befehle nicht in den PR-Titel einzufügen, der nach der Zusammenführung zur Commit-Nachricht hinzugefügt wird. Bearbeite stattdessen die Merge-Commit-Nachricht manuell, damit die Smart Commits wieder funktionieren.
Link zu dieser Seite: https://seibert.biz/dokujiracloudsmartcommitsbearbeiten