Smart Commit を使用する

Bitbucket または GitHub でプロジェクトのリポジトリを管理する場合、または FishEye を使用してリポジトリの参照や検索を行う場合、コミット メッセージで「スマート コミット」と呼ばれる特別なコマンドを使用して Jira の課題を処理できます。

以下のことが可能です。

  • 課題にコメントする

  • 課題の時間管理情報を記録する

  • Jira プロジェクトのワークフローに定義されているいずれかのステータスに課題をトランジションします。

ソフトウェアのレビューに Crucible を使用する場合、ほかにもアクションを利用できます。Crucible ドキュメントの「Smart Commit を使用する」を参照してください。

スマート コミット コマンドは 1 行に収める必要があります (例えば、コマンドではキャリッジ リターンを使用できません) が、詳細な例で示されるように、同じ行に複数のコマンドを追加できます。1 行に複数のコマンドを入れる例は次を参照してください。

スマートコミット コマンド

スマート コミット メッセージの基本的な構文は次のとおりです。

<ignored text> <ISSUE_KEY> <ignored text> #<COMMAND> <optional COMMAND_ARGUMENTS>

課題キーとコマンドの間にあるテキストは無視されます。

スマート コミット メッセージでは次の 3 つのコマンドを使用できます。

  • comment

  • time

  • transition

コメント

説明

Jira 課題にコメントを追加します。

構文

<ignored text> <ISSUE_KEY> <ignored text> #comment <comment_string>

JRA-34 #comment corrected indent issue

注意

コミッターのメール アドレスは、その特定のプロジェクトで課題にコメントする権限を持つ Jira ユーザーのうち 1 人のメール アドレスと一致する必要があります。

GitHub 使用時に関する詳細

  • GitHub でのメール アドレスが、その特定のプロジェクトで課題にコメントする権限を持つ単一の Jira ユーザーのメール アドレスと一致する必要があります。

  • スマート コミットが正しく機能するためには、GitHub で [メールアドレスを非公開にする] のチェックをオフにします

時間

説明

課題に対する 時間管理情報を記録します。

構文

<ignored text> <ISSUE_KEY> <ignored text> #time <value>w <value>d <value>h <value>m <comment_string>

JRA-34 #time 1w 2d 4h 30m Total work logged

注意

この例では、課題に対して 1 週間、2 日、4 時間と 30 分を記録し、課題の [作業ログ] タブに「Total work logged」というコメントを追加します。

  • wdh および m の値には、小数も使用できます。

  • コメントは、comment コマンドを使用しなくても自動的に追加されます。

  • コミッターのメール アドレスが、課題に対する作業を記録する権限を持つ単一の Jira ユーザーのメール アドレスと一致する必要があります。

  • システム管理者が

    Jira インスタンス

ワークフローのトランジション

説明

Jira 課題を特定のワークフロー状態にトランジションします。

構文

<ignored text> <ISSUE_KEY> <ignored text> #<transition_name> #comment <comment_string>

JRA-090 #close #comment Fixed this today

注意

この例では、課題に対して課題のクローズ ワークフロー トランジションを実行し、コメント「Fixed this today」を課題に追加します。 

この構文にはいくつかの例外があります。

  • If your Jira admin has set comment as a required field, you must not add #comment to the command

  • その他のいずれかのフィールドが必須に設定されている場合、トランジション コマンドは通知なしで失敗します。

Smart Commit と併用可能なカスタムコマンドを確認するには、

Jira 課題にアクセスし、利用可能なワークフロー トランジションを確認します。

  1. プロジェクト内の課題を開きます。

  2. Click View Workflow (near the issue's Status).

Smart Commit は、最初のスペースの前のトランジション名の部分のみを考慮します。したがって、finish work などのトランジション名の場合、#finish と指定すれば十分です。トランジション名に曖昧さが含まれる場合、スペースの代わりにハイフンを使用する必要があります。たとえば、#finish-work などです。

次のように、ワークフローに2つの有効なトランジションがある場合:

  • Start Progress

  • Start Review

アクション #start を含むスマート コミットは 2 つのトランジションのいずれかを意味することになるため、曖昧であると見なされます。これら 2 つのトランジションの 1 つを指定するには、#start-review または #start-progress のいずれかを使用して、使用したいトランジションを完全修飾します。

  • 課題を #resolve コマンドで解決する場合、スマート コミットで解決状況フィールドを設定することはできません。

  • コミット実施者のメール アドレスは、対象のプロジェクトでの課題へのコメント追加権限を持つ

    Jira

    ユーザー (課題をトランジションする適切なプロジェクト権限を持つユーザー)

高度な例

単一の課題に複数のコマンド

構文

<ISSUE_KEY> #<COMMAND_1> <optional COMMAND_1_ARGUMENTS> #<COMMAND_2> <optional COMMAND_2_ARGUMENTS> ... #<COMMAND_n> <optional COMMAND_n_ARGUMENTS>

コミット メッセージ

JRA-123 #time 2d 5h #comment Task completed ahead of schedule #resolve

結果

課題 JRA-123 に対して、2 日と 5 時間作業を記録し、コメント「Task completed ahead of schedule」を追加して
課題を解決します。

単一の課題に対して複数行にわたる複数のコマンド

構文

<ISSUE_KEY> #<COMMAND_1> <optional COMMAND_1_ARGUMENTS> #<COMMAND_2> <optional COMMAND_2_ARGUMENTS> ... #<COMMAND_n> <optional COMMAND_n_ARGUMENTS>

コミット メッセージ

JRA-123 #comment Imagine that this is a really, and I 
mean really, long comment #time 2d 5h

結果

Adds the comment 'Imagine that this is a really, and I', but drops the rest of the comment. The work time of 2 days and 5 hours is not logged against the issue because there is no issue key for the #time command in the second line. That is, each line in the commit message must conform to the Smart Commit syntax.

この例では、以下のように設定すると、想定通りに動作します。

JRA-123 #comment Imagine that this is a really, and I mean really, long comment 
JRA-123 #time 2d 5h

複数の課題に対して単一コマンドを使用

構文

<ISSUE_KEY1> <ISSUE_KEY2> <ISSUE_KEY3> #<COMMAND> <optional COMMAND_ARGUMENTS> etc

コミット メッセージ

JRA-123 JRA-234 JRA-345 #resolve

結果

課題 JRA-123、JRA-234 および JRA-345 を解決します。

複数の課題キーはホワイトスペースまたはコンマで区切る必要があります。

複数の課題に対して複数のコマンドを使用

構文

<ISSUE_KEY1> <ISSUE_KEY2> ... <ISSUE_KEYn> #<COMMAND_1> <optional COMMAND_1_ARGUMENTS> #<COMMAND_2> <optional COMMAND_2_ARGUMENTS> ... #<COMMAND_n> <optional COMMAND_n_ARGUMENTS>

コミット メッセージ

JRA-123 JRA-234 JRA-345 #resolve #time 2d 5h #comment Task completed ahead of schedule

結果

課題 JRA-123、JRA-234 および JRA-345 に対して、2 日と 5 時間作業を記録し、コメントを追加します。
3 つの課題すべてにコメント「Task completed ahead of schedule」を追加し、3 つの課題すべてを解決します。

複数の課題キーはホワイトスペースまたはコンマで区切る必要があります。

Smart Commit の活用

Jira のインスタンスでスマート コミットを使用できるようにするのは簡単です。

ツール

接続の手順

Bitbucket Cloud

まず、Jira と Bitbucket アカウントをリンクします。「Jira Cloud と Bitbucket Cloud の接続」を参照してください。

次に、Jira でスマート コミットを有効にします。「スマート コミットの有効化」を参照してください。

GitHub

まず、Jira と GitHub アカウントをリンクします。「Jira Cloud と GitHub の接続」を参照してください。

次に、Jira でスマート コミットを有効にします。「スマート コミットの有効化」を参照してください。

Bitbucket Data Center

Create an application link between Jira and Bitbucket Data Center. See Linking Bitbucket Data Center to Jira.

次に、Jira でスマート コミットを有効にします。「スマート コミットの有効化」を参照してください。

Fisheye

Create an application link between Jira and Fisheye. See Linking to another application.

次に、Jira でスマート コミットを有効にします。「スマート コミットの有効化」を参照してください。

Crucible

Create an application link between Jira and Crucible. See Linking to another application.

次に、Jira でスマート コミットを有効にします。「スマート コミットの有効化」を参照してください。

注意

  • スマート コミットは、既定の Jira 課題キー形式のみをサポートします。この形式では、2 つ以上の大文字にハイフンと課題番号が続きます (例: JRA-123)。 

  • A DVCS such as Git includes a user's email address in the commit data. Users configure this email address in their local system. Smart Commits requires that this email address match exactly one email address in the Jira user base. If the email address matches multiple users in Jira, or the user does not have permissions for the requested action, the Smart Commit action will fail. The commit itself will succeed however, and will show on the issue. Mismatched email addresses is a common reason why Smart Commits fail to work as expected. If a Smart Commit fails, Jira sends an email notification to either the Jira user, or to the DVCS user (if a Jira user can't be identified). In rare cases, Jira doesn't have either of these email addresses, and the Smart Commit fails silently.

 

さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。