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.

  • Die Werte für w, d, h und m können Dezimalzahlen sein.
  • Der Kommentar wird automatisch hinzugefügt, ohne dass du den Befehl #comment verwenden musst.
  • Die E-Mail Adresse des Committers muss mit der E-Mail Adresse eines einzelnen Jira Software Benutzers übereinstimmen, der die Erlaubnis hat, die Arbeit an einem Vorgang zu protokollieren.
  • Dein Systemadministrator muss die Zeiterfassung (Englisch) in deiner Jira Software-Instanz aktiviert haben.

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:


  • Wenn dein Jira-Administrator Kommentar als Pflichtfeld festgelegt hat, dann darfst du nicht #comment an den Befehl anhängen.
  • Wenn ein anderes Feld als erforderlich festgelegt wurde, schlägt der Übergangsbefehl automatisch fehl.

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:


  1. Öffne einen Vorgang in deinem Projekt.
  2. Klicke auf Workflow anzeigen (Beim öffnen des Status des Vorgangs).


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.:


  • Start Progress
  • Start Review             


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.


  • Wenn du einen Vorgang mit dem Befehl #resolve auflöst, kannst du das Feld Auflösung nicht mit Smart Commits setzen.
  • Die E-Mail Adresse des Committers muss mit der E-Mail Adresse eines einzelnen Jira Software-Benutzers übereinstimmen, der über die entsprechenden Projektberechtigungen für den Übergang von Vorgängen verfügt.


Zeige Entwicklungsinformationen zu deinen Jira Vorgängen an

Um verknüpfte Entwicklungsinformationen in einem Jira Vorgang anzuzeigen:


  1. Navigiere zu dem Vorgang.
  2. 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,
und beendet den Vorgang.


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 ich 


mein 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 Kommentar 
JRA-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.






Zurück zum Hauptmenü   Nächstes Thema  







Confluence

Diese Seite wurde zuletzt am 04.09.2023 geändert.