Smart Commit を使用する

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

以下のことが可能です。

  • 作業項目にコメントする

  • 作業項目に対する時間管理情報を記録する

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

There are other actions available if you use Crucible for software reviews. See Using Smart Commits in the Crucible documentation.

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

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

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

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

作業項目キーとコマンドの間のテキストは無視されます。

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

  • comment

  • time

  • transition

コメント

説明

Jira 作業項目にコメントを追加します。

構文

<ignored text> <WORK_ITEM_KEY> <ignored text> #comment <comment_string>

JRA-34 #comment corrected indent work item

注意

コミッターのメール アドレスが、その特定のプロジェクトの作業項目にコメントする権限を持つ単一の Jira ユーザーのメール アドレスと一致する必要があります

GitHub 使用時に関する詳細

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

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

時間

説明

Records time tracking information against an work item.

構文

<ignored text> <WORK_ITEM_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 ユーザーのメール アドレスと一致する必要があります。

  • Your system administrator must have enabled time tracking on your

    Jira インスタンス

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

説明

Jira 作業項目を特定のワークフロー状態に移行します。

構文

<ignored text> <WORK_ITEM_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. [ワークフローの表示] (作業項目のステータスの近く) を選択します。

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

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

  • Start Progress

  • Start Review

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

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

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

    Jira

    ユーザー (作業項目をトランジションするための適切なプロジェクト権限を持つユーザー)

高度な例

単一の作業項目に対する複数のコマンド

構文

<WORK_ITEM_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」を追加し、作業項目を解決します。

単一の作業項目に対して複数行にわたる複数のコマンド

構文

<WORK_ITEM_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

結果

コメント「Imagine that this is a really, and I」は追加されますが、残りのコメントは削除されます。2 行目の #time コマンドに作業項目キーがないため、作業時間の 2 日と 5 時間は作業項目に記録されません。つまり、コミット メッセージの各行がスマート コミット構文に準拠している必要があります。

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

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

複数の作業項目に対する 1 つのコマンド

構文

<WORK_ITEM_KEY1> <WORK_ITEM_KEY2> <WORK_ITEM_KEY3> #<COMMAND> <optional COMMAND_ARGUMENTS> etc

コミット メッセージ

JRA-123 JRA-234 JRA-345 #resolve

結果

作業項目 JRA-123、JRA-234 および JRA-345 を解決します。

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

複数の作業項目に対する複数のコマンド

構文

<WORK_ITEM_KEY1> <WORK_ITEM_KEY2> ... <WORK_ITEM_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

First, link your Jira and Bitbucket accounts. See Connect Jira Cloud to Bitbucket Cloud.

Then, enable Smart Commits in Jira. See Enable Smart Commits.

GitHub

First, link your Jira and GitHub accounts. See Connect Jira Cloud to GitHub.

Then, enable Smart Commits in Jira. See Enable Smart Commits.

Bitbucket Data Center

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

Then, enable Smart Commits in Jira. See Enable Smart Commits.

Fisheye

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

Then, enable Smart Commits in Jira. See Enable Smart Commits.

Crucible

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

Then, enable Smart Commits in Jira. See Enable Smart Commits.

注意

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

  • Git などの DVCS では、ユーザーのメール アドレスがコミット データに含まれます。ユーザーはローカル システムでこのメール アドレスを構成します。スマート コミットでは、このメール アドレスと Jira ユーザー ベースの 1 つのメール アドレスを完全に一致させる必要があります。メール アドレスが Jiraの複数のユーザーと一致する場合、またはリクエストした操作を実行する権限がユーザーにない場合、スマート コミット操作は失敗します。ただし、コミット自体は成功し、作業項目に表示されます。スマート コミットが期待どおりに機能しない一般的な理由は、メール アドレスの不一致です。スマート コミットが失敗すると、 Jira は Jira ユーザーまたは DVCS ユーザー ( Jira ユーザーが特定できない場合) にメール通知を送信します。稀なケースですが、Jira にどちらのメール アドレスもなく、スマート コミットが気付かないうちに失敗することがあります。

 

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

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