atlassian-cli はコミュニティによる独立したオープンソースプロジェクトです。Atlassian と提携・関連しておらず、Atlassian による承認、推奨、後援のいずれも受けておらず、Atlassian が提供する公式 CLI(acli)でもありません。製品名は互換性を示す目的でのみ使用しています。
JSM リクエスト CLI を 1 分で
atlassian-cli の jsm request cli を使うと、Jira Service Management のリクエストの作成、遷移、コメントをすべてターミナルから行えます。リクエストごとにエージェントビューをクリックして回る代わりに、コマンドを 1 つ実行するだけです。リクエストの起票には atlassian-cli jsm request create、ワークフローを進めるには atlassian-cli jsm request transition、顧客への返信や内部メモの追加には atlassian-cli jsm request add-comment を使います。
これが効いてくるのは、作業が繰り返しになるときや、スクリプト化したいときです。CSV からオンボーディングのリクエストをまとめて起票する、キューに入った新しいリクエストへ自動で受領連絡を返す、未解決のリクエスト一式にメンテナンス告知を投稿する。いずれもコマンドラインなら数分ですが、ブラウザーでは午後がまるごと消えます。どのコマンドも Jira Service Management の REST API を直接呼び出すため、実行される操作はエージェントがポータルで行うものとまったく同じです。違うのは、繰り返しが速く、シェルスクリプトに包みやすいという点だけです。
このガイドでは、1 件のリクエストのライフサイクル全体をターミナルから扱います。JSM のコマンドグループ全体を俯瞰したい場合は、JSM CLI ガイドか JSM コマンドハブから始めてください。ここではリクエストそのものを掘り下げます。
サービスデスク ID とリクエストタイプ ID を調べる
リクエストの作成には、2 つの数値 ID が必要です。所属するサービスデスクと、リクエストタイプ(顧客が選ぶ「フォーム」にあたるもの。たとえば Get IT help や Report a bug)です。どちらもすぐに調べられます。
# List every service desk you can see, with IDs
atlassian-cli jsm service-desk list --limit 25
# List the request types available in service desk 10
atlassian-cli jsm request-type list --servicedesk-id 10 --limit 25
プログラムからリクエストを起票する前に、そのリクエストタイプがどのフィールドを求めるか、とくに必須のものがあるかを知っておくと役立ちます。直接確認できます。
# Show the fields for request type 7 in service desk 10
atlassian-cli jsm request-type fields 10 7
ID を画面から読み取るのではなくスクリプトで取得したい場合は、いずれのコマンドにも --format json を付けて、結果を jq にパイプしてください。認証は atlassian-cli auth login を一度実行するだけです。まだサイトを接続していない場合は、認証の設定ドキュメントをご覧ください。
リクエストを作成する
2 つの ID がそろえば、リクエストの起票はコマンド 1 つです。基本的なリクエストに必要な内容は、要約と説明だけです。
# Create a new request in service desk 10, request type 7
atlassian-cli jsm request create \
--servicedesk-id 10 \
--request-type-id 7 \
--summary "Access issue" \
--description "Can't log in to the VPN since this morning"
このコマンドは、作成されたリクエストキー(たとえば SD-123)を返します。このキーが以降のすべての操作の起点になります。遷移、コメント、参加者、ステータス確認は、いずれもこれを最初の引数として受け取ります。次の手順で直前に作成したリクエストを扱えるよう、スクリプトの中で受け取っておきましょう。
# Create a request and capture its key with jq
KEY=$(atlassian-cli jsm request create \
--servicedesk-id 10 \
--request-type-id 7 \
--summary "New laptop for starter" \
--description "MacBook Pro, start date 2026-07-20" \
--format json | jq -r '.issueKey')
echo "Raised $KEY"
ヒント: リクエストタイプに必須のカスタムフィールドがある場合、それらを渡すまで作成は失敗します。自動化した受け付けがバッチの途中で止まらないよう、まず atlassian-cli jsm request-type fields 10 7 を実行して、そのタイプが何を求めるかを正確に確認してください。
リクエストを遷移させる
リクエストはワークフローに沿って進みます。Waiting for support、In progress、Waiting for customer、Resolved といった具合です。使える遷移は現在のステータスとプロジェクトのワークフローによって決まるため、適用する前に一覧してください。存在しない遷移名を当て推量で指定しても、エラーが返るだけです。
# Step 1: see which transitions are available right now
atlassian-cli jsm request transitions SD-123
# Step 2: apply one by name
atlassian-cli jsm request transition SD-123 --transition "In Progress"
遷移させたら、意図したステータスになっているかを確認します。
# Check the current status of a request
atlassian-cli jsm request status SD-123
「一覧してから適用する」という流れは Jira の課題の遷移と同じ形なので、ソフトウェアのボードを扱っていてもサービスデスクのキューを扱っていても、考え方は変わりません。スクリプト化するときは、--format json で遷移を取得し、名前で目的のものを選んでから適用します。そうすれば、プロジェクトがどのワークフローを使っていても自動化が適応します。
コメント: 公開返信と内部メモ
コメントこそ、request 系のコマンドが真価を発揮する場面です。顧客向けの返信もエージェント限定のメモも、同じサブコマンドで扱えるからです。違いはフラグ 1 つだけです。
# Public reply: the customer sees this on the portal
atlassian-cli jsm request add-comment SD-123 \
--body "We're investigating and will update you within the hour." \
--public
# Internal note: visible to agents only (omit --public)
atlassian-cli jsm request add-comment SD-123 \
--body "Reproduced on staging, escalating to network team."
--public を付けると、報告者がポータルとメールで見られる返信として投稿されます。付けなければ、エージェントの内側にとどまる内部メモになります。この使い分けこそがフラグの存在理由です。スクリプトの 1 ステップで、顧客への受領連絡を公開しつつ、背景情報を内部に記録できます。UI を触る必要はありません。
やり取りを読むのも同じくらい簡単です。
# Read the most recent comments on a request
atlassian-cli jsm request comments SD-123 --limit 25
add-comment は --body にプレーンテキストを受け取るため、テンプレート化できます。シェルのループで、一覧にあるすべてのリクエストへ同じメンテナンス告知を投稿したり、上流で生成した顧客ごとのメッセージを流し込んだりできます。ブラウザーでは面倒でも、ターミナルからならごく簡単な種類の繰り返し返信です。
参加者と通知購読
日々のリクエスト対応を仕上げる操作があと 2 つあります。参加者は、リクエストに巻き込む追加の関係者(上長や 2 人目のエンジニアなど)で、通知購読は自分自身が更新の通知を受け取るかどうかを制御します。
# Add someone as a participant on a request
atlassian-cli jsm request add-participant SD-123 --account-id 5f...1a
# Remove a participant
atlassian-cli jsm request remove-participant SD-123 --account-id 5f...1a
# See who is currently participating
atlassian-cli jsm request participants SD-123
# Follow / stop following notifications for a request
atlassian-cli jsm request subscribe SD-123
atlassian-cli jsm request unsubscribe SD-123
参加者は --account-id を受け取ります。これは追加する相手の Atlassian アカウント識別子です。もう一人の目が必要なリクエストでは参加者を追加し、通知の多さは subscribe と unsubscribe で調整します。いずれもターミナルから離れずに行えます。
request サブコマンド一覧
リクエストに対する操作はすべて atlassian-cli jsm request の下にあります。9 個の例を別々に追わなくて済むよう、ひとつの表にまとめました。
| 操作 | コマンド |
|---|---|
| リクエストを一覧する | jsm request list --servicedesk-id 10 |
| リクエストを 1 件取得する | jsm request get SD-123 |
| リクエストを作成する | jsm request create --servicedesk-id 10 --request-type-id 7 --summary "..." --description "..." |
| 遷移を一覧する | jsm request transitions SD-123 |
| 遷移を適用する | jsm request transition SD-123 --transition "In Progress" |
| ステータスを確認する | jsm request status SD-123 |
| コメントを読む | jsm request comments SD-123 --limit 25 |
| コメントを追加する | jsm request add-comment SD-123 --body "..." --public |
| 参加者を一覧する | jsm request participants SD-123 |
| 参加者を追加・削除する | jsm request add-participant SD-123 --account-id ... |
| 通知購読を開始・解除する | jsm request subscribe SD-123 |
どのコマンドもグローバルフラグを受け付けます。機械可読な出力には --format json|csv|yaml、特定のサイトを対象にするには --profile、挙動がおかしいときに内部の HTTP 呼び出しを記録するには --debug を使います。全一覧はコマンドリファレンスにあります。
受け付けをスクリプト化する例
ここまでの要素を組み合わせます。次のスニペットは、リクエストを起票し、すぐに顧客へ受領連絡を返し、内部メモを残し、対応中へ進めます。エージェントが最初に行う一連の動きを、そのまま一度に済ませます。
#!/bin/bash
# Raise a request and run the standard intake steps
set -euo pipefail
# 1. Create the request and grab its key
KEY=$(atlassian-cli jsm request create \
--servicedesk-id 10 \
--request-type-id 7 \
--summary "VPN access down" \
--description "Multiple users cannot connect since 09:00" \
--format json | jq -r '.issueKey')
# 2. Public acknowledgement to the customer
atlassian-cli jsm request add-comment "$KEY" \
--body "Thanks for flagging this. We're on it and will update shortly." \
--public
# 3. Internal note for the on-call engineer
atlassian-cli jsm request add-comment "$KEY" \
--body "Suspected gateway outage, paging network on-call."
# 4. Move it into progress
atlassian-cli jsm request transition "$KEY" --transition "In Progress"
echo "Intake complete for $KEY"
これを Webhook、cron ジョブ、チャットコマンドに組み込めば、標準の受け付けはリクエストごとに 5 回クリックする作業ではなく 1 ステップになります。すでにキューに入っているリクエストの処理や、その消化の速さをレポートする方法は、姉妹記事のサービスデスクの自動化とキューと SLA のレポートをご覧ください。
acli との違い
atlassian-cli はコミュニティによる独立したオープンソースプロジェクトです。Atlassian が提供する公式 CLI(acli)ではなく、Atlassian と提携・関連しておらず、Atlassian による承認、推奨、後援、保守のいずれも受けていません。ベンダーによる一次サポートが必要なときは公式の acli を使ってください。Jira、Confluence、Bitbucket、Jira Service Management の 4 つを同じコマンド文法でカバーする、MIT ライセンスの無料の Rust バイナリを 1 つで済ませたいときは atlassian-cli を使ってください。ここで扱った jsm request グループは、その統一された体系の一部です。
atlassian-cli を試す
Jira、Confluence、Bitbucket、Jira Service Management に対応したバイナリが 1 つ。無料のオープンソースです。
atlassian-cli をインストールよくある質問
コマンドラインから JSM のリクエストを作成するにはどうすればよいですか?
atlassian-cli jsm request create に、サービスデスク ID、リクエストタイプ ID、要約、説明を渡します。例: atlassian-cli jsm request create --servicedesk-id 10 --request-type-id 7 --summary "Access issue" --description "Can't log in"。このコマンドは新しいリクエストキー(たとえば SD-123)を返します。遷移やコメントなど、以降のすべての操作でこのキーを使います。
サービスデスクのリクエストを新しいステータスへ遷移させるにはどうすればよいですか?
まず atlassian-cli jsm request transitions SD-123 でそのリクエストに使える遷移を一覧し、次に atlassian-cli jsm request transition SD-123 --transition "In Progress" のように名前を指定して適用します。遷移名はワークフローごとに異なるため、先に一覧しておけば当て推量を避けられます。適用後の状態は atlassian-cli jsm request status SD-123 で確認してください。
JSM のリクエストで、公開コメントと内部コメントは何が違いますか?
--public フラグを付けると、顧客がポータルで見られる返信として投稿されます。例: atlassian-cli jsm request add-comment SD-123 --body "Investigating" --public。--public を省くと、エージェントだけに見える内部メモになります。どちらも同じ add-comment サブコマンドで追加でき、やり取りは atlassian-cli jsm request comments SD-123 で読めます。
必要なサービスデスク ID とリクエストタイプ ID はどうやって調べますか?
atlassian-cli jsm service-desk list を実行すると、すべてのサービスデスクが数値 ID つきで表示されます。続いて atlassian-cli jsm request-type list --servicedesk-id 10 を実行すると、そのデスクで使えるリクエストタイプが ID つきで一覧できます。作成する前に、atlassian-cli jsm request-type fields 10 7 でリクエストタイプが求めるフィールドを確認することもできます。