atlassian-cli はコミュニティによる独立したオープンソースプロジェクトです。Atlassian と提携・関連しておらず、Atlassian による承認、推奨、後援のいずれも受けておらず、Atlassian が提供する公式 CLI(acli)でもありません。製品名は互換性を示す目的でのみ使用しています。
コマンドラインで行うカスタマーサービス
Jira のカスタマーサービス管理とは、顧客向けのリクエストを Jira Service Management(JSM)で扱う運用のことです。顧客がリクエストを送るポータル、顧客が選ぶリクエストタイプ、エージェントが処理するキュー、そして全員の基準になる SLA が含まれます。その多くは Web ポータルの向こう側にあります。このガイドでは、その顧客向けの部分を atlassian-cli でターミナルから動かし、受付、返信、オンボーディングを手作業ではなくスクリプトにする方法を示します。
繰り返しの多いカスタマーサービス業務は、コマンドラインと相性のよい領域です。取引先から10件のアクセス依頼がメールで届いたとき、新しいクライアント企業に20席分の準備が必要なとき、あるいは同じ初回応答テンプレートを届いたリクエストすべてに送るとき、ポータルで手作業を行うのは遅く、間違いも起きます。1つの jsm コマンド、あるいはそれをいくつか束ねた短いスクリプトが、そうした雑務を予測可能な1つの操作に変えます。以下で使うコマンドはすべてコマンドリファレンスにあるもので、架空のフラグはありません。
acli との違い
atlassian-cli はコミュニティによる独立したオープンソースプロジェクトです。Atlassian と提携・関連しておらず、Atlassian による承認、推奨、後援、保守のいずれも受けていません。Atlassian が提供する公式 CLI(acli)でもありません。ベンダーによる一次サポートが必要であれば公式の acli を使ってください。Jira、Confluence、Bitbucket、JSM をカバーする単一の無料 Rust バイナリが欲しい場合は atlassian-cli を選んでください。MIT ライセンスなので、ソースを読み、フォークし、ベンダーのアカウントなしに自動化でバージョンを固定できます。
まずは認証です。プロファイルをまだ用意していない場合は、認証ガイドに従って API トークンを保存してください。そのうえで、プロファイルが動くことを確認します。
# Verify auth and list configured profiles
atlassian-cli auth list
# Target a specific profile on any command with --profile
atlassian-cli jsm service-desk list --profile support
サービスデスクとリクエストタイプを調べる
顧客向けの操作にはいずれも2つの ID が必要です。リクエストが属するサービスデスクと、顧客がポータルで選んだであろうリクエストタイプです。まずはサービスデスクの一覧から始めます。
# List service desks; note the numeric ID you want
atlassian-cli jsm service-desk list --limit 25
# Inspect one service desk
atlassian-cli jsm service-desk get 10
サービスデスクの ID がわかったら、そのリクエストタイプを一覧します。これらは顧客がポータルで目にするタイル(「Report a bug」「Request access」「Ask a question」)と1対1で対応します。誰かに代わってリクエストを起票するには、リクエストタイプの ID が必要です。
# List request types for service desk 10
atlassian-cli jsm request-type list --servicedesk-id 10 --limit 25
# See which fields a request type expects
atlassian-cli jsm request-type fields 10 7
fields サブコマンドは、そのリクエストタイプで必須のフィールドを教えてくれるため、送信前に summary と description に何を入れるべきかがわかります。ID をスクリプトにキャッシュしたい場合は、これらのコマンドに --format json を付けて出力を jq にパイプしてください。
顧客と組織をオンボーディングする
顧客の名前でリクエストを記録するには、その顧客が JSM の顧客として存在し、通常はサービスデスクに所属している必要があります。メールアドレスと表示名で顧客アカウントを作成します。
# Create a portal customer
atlassian-cli jsm customer create \
--email new@customer.com \
--display-name "New Customer"
# Give an existing customer access to service desk 10
atlassian-cli jsm service-desk add-customer 10 \
--account-id 5f...1a
B2B のサポートでは、1人ずつ追加することはほとんどありません。人をまとめて組織にし、その組織全体にサービスデスクへのアクセスを付与します。こうすれば、クライアント企業の新しい担当者はリクエストを出さずにアクセスを引き継げます。
# Create an organization for a client company
atlassian-cli jsm organization create --name "ACME Ops"
# Add members to the organization
atlassian-cli jsm organization add-user 42 --account-id 5f...1a
# Grant the whole organization access to service desk 10
atlassian-cli jsm service-desk add-organization 10 --org-id 42
契約が終了したら、履歴を削除するのではなくポータルのアクセスをきれいに取り消します。顧客のリクエストの記録は残りますが、ログインはできなくなります。
# Revoke a customer's portal access
atlassian-cli jsm customer revoke-portal-access --account-id 5f...1a
# Remove an organization from a service desk
atlassian-cli jsm service-desk remove-organization 10 --org-id 42
顧客に代わってリクエストを起票する
どのサービスデスクでも中心にあるのはリクエストそのものです。顧客がポータル以外の手段(メール、チャット、電話)で連絡してきたときは、こちらでリクエストを記録し、セルフサービスで起票されたものと同じキュー、SLA、レポートに載せます。先ほど調べたサービスデスクの ID とリクエストタイプの ID を渡します。
# File a request on a customer's behalf
atlassian-cli jsm request create \
--servicedesk-id 10 \
--request-type-id 7 \
--summary "VPN access" \
--description "Cannot connect from home since the weekend"
コマンドは新しいリクエストキー(たとえば SD-123)を返します。そこから、読み戻し、現在のステータスの確認、利用できるワークフローの遷移の一覧ができます。
# Read the request you just created
atlassian-cli jsm request get SD-123
# Check the customer-facing status
atlassian-cli jsm request status SD-123
# See which transitions are allowed right now
atlassian-cli jsm request transitions SD-123
サービスデスクの未対応の作業量を眺めるには、リクエストを一覧するか、キューを掘り下げます。キューはチームがすでに使っているエージェント向けのビューを反映するため、CLI でのキューの読み取りは、彼らがポータルで見ている内容と一致します。
# List recent requests for service desk 10
atlassian-cli jsm request list --servicedesk-id 10 --limit 25
# List the queues, then read one queue's issues
atlassian-cli jsm queue list 10
atlassian-cli jsm queue issues 10 5 --limit 25
顧客に状況を伝え続ける
良いサービスデスクとつらいサービスデスクを分けるのはコミュニケーションです。JSM は内部メモと顧客に見える返信を分けており、CLI もフラグ1つでその区別を守ります。メッセージを顧客のポータルと受信箱に届けたいときは --public を使い、エージェントだけのメモを残すときは省略します。
# Customer-visible reply (appears in the portal)
atlassian-cli jsm request add-comment SD-123 \
--body "We are investigating and will update you shortly" \
--public
# Internal note (agents only)
atlassian-cli jsm request add-comment SD-123 \
--body "Waiting on the network team, ETA tomorrow"
適切な人を巻き込み、担当者にならなくても関係者が経過を追えるようにします。参加者は公開の更新ごとに通知を受け取ります。購読は、そのリクエストに対する自分自身の通知を制御します。
# Add a participant so they see updates
atlassian-cli jsm request add-participant SD-123 --account-id 5f...1a
# Follow (or stop following) a request yourself
atlassian-cli jsm request subscribe SD-123
atlassian-cli jsm request unsubscribe SD-123
リクエストを次に進める段になったら、名前を指定して遷移させます。遷移名はワークフローが公開しているものと一致し、先ほど示した transitions コマンドで確認できます。
# Move the request to the next workflow state
atlassian-cli jsm request transition SD-123 --transition "In Progress"
SLA、承認、フィードバック
カスタマーサービスは応答時間と解決時間で評価されるため、推測せずに SLA を直接読み取ります。リクエストのすべての SLA を一覧するか、1つの指標を取得して違反までの残り時間を確認します。
# List all SLAs on a request
atlassian-cli jsm sla list SD-123
# Read one SLA metric
atlassian-cli jsm sla get SD-123 --sla-id time-to-resolution
顧客のリクエストの中には、作業を始める前に承認が必要なものもあります。たとえば予算やアクセスの承認です。承認もターミナルを離れずに処理できます。
# List and act on approvals
atlassian-cli jsm approval list SD-123
atlassian-cli jsm approval approve SD-123 --approval-id 1
リクエストが解決したあと、JSM は顧客満足度の評価を収集できます。レポートに使うためにスコアを読み取ったり、テストのワークフローで送信したりできます。
# Read the satisfaction rating for a request
atlassian-cli jsm feedback get SD-123
よくある質問がリクエストになる前に答えるため、連携しているナレッジベースを CLI から直接検索し、公開コメントで記事を顧客に共有できます。
# Search the knowledge base tied to a service desk
atlassian-cli jsm kb search --query "vpn" --servicedesk-id 10 --limit 25
ポータルの操作と CLI コマンドの対応
ポータルを知っているなら、この表で日々のカスタマーサービスの操作と対応するコマンドがわかります。CLI の価値は、ポータルにできないことをやる点ではありません。これらを再現可能でスクリプト化できるものにする点にあります。
| ポータルの操作 | CLI コマンド |
|---|---|
| 顧客に代わってリクエストを起票する | jsm request create |
| 顧客に返信する | jsm request add-comment --public |
| リクエストをワークフローに沿って進める | jsm request transition |
| 新しい顧客を招待する | jsm customer create |
| 企業にアクセスを付与する | jsm service-desk add-organization |
| 解決までの時間を確認する | jsm sla get |
| リクエストを承認する | jsm approval approve |
顧客受付のスクリプト全体
次に示すのは、これらの要素をつなぐ小さな受付スクリプトです。顧客をオンボーディングし、そのリクエストを起票し、公開の返信で受付を知らせ、更新が届くよう参加者に追加します。メールの Webhook から起動したり、取引先からまとめてリクエストを受け取ったときに実行したりする用途です。
#!/bin/bash
# Onboard a customer and log their first request
set -euo pipefail
PROFILE="support"
SERVICEDESK="10"
REQUEST_TYPE="7"
EMAIL="new@customer.com"
# Step 1: create the customer (safe to re-run; skip if they exist)
atlassian-cli jsm customer create \
--profile "$PROFILE" \
--email "$EMAIL" \
--display-name "New Customer" || true
# Step 2: file the request and capture its key from JSON output
KEY=$(atlassian-cli jsm request create \
--profile "$PROFILE" \
--servicedesk-id "$SERVICEDESK" \
--request-type-id "$REQUEST_TYPE" \
--summary "VPN access" \
--description "Cannot connect from home" \
--format json | jq -r '.issueKey // .key')
# Step 3: send a public acknowledgement
atlassian-cli jsm request add-comment "$KEY" \
--profile "$PROFILE" \
--body "Thanks, we received your request and are on it" \
--public
echo "Logged and acknowledged $KEY"
CLI は構造化されたデータを読み書きするため、同じコマンドを他のシステムにも組み込めます。--format json をレポート処理にパイプしたり、受信 Webhook からリクエストの作成を起動したりできます。社内でのリクエスト対応や外部サービスとの接続を含む全体像は、姉妹記事のリクエスト管理と JSM の連携、あるいは JSM ハブから始めてください。
atlassian-cli を試す
Jira、Confluence、Bitbucket、JSM に対応した、MIT ライセンスの無料 Rust バイナリ1つ。1分もかからずインストールできます。
atlassian-cli をインストールよくある質問
Jira のカスタマーサービス管理とは何ですか。コマンドラインから運用できますか?
Jira のカスタマーサービス管理とは、顧客向けのリクエストを Jira Service Management(JSM)で扱う運用のことです。ポータル、リクエストタイプ、キュー、SLA、顧客の記録が対象です。atlassian-cli を使えば、同じワークフローを jsm コマンドグループでターミナルから動かせます。顧客に代わってリクエストを作成し、ポータルへ返信し、顧客と組織をオンボーディングし、リクエストを遷移させ、SLA とフィードバックのデータを読むところまで、Web ポータルを開かずに行えます。
CLI から顧客に代わって JSM のリクエストを作成するには?
atlassian-cli jsm request create を、サービスデスクの ID とリクエストタイプの ID とあわせて使います。例: atlassian-cli jsm request create --servicedesk-id 10 --request-type-id 7 --summary "VPN access" --description "Cannot connect from home"。正しい request-type-id を渡せるよう、先に atlassian-cli jsm request-type list --servicedesk-id 10 で利用できるリクエストタイプを一覧してください。
ポータルを使わずにサービスデスクへ顧客と組織を追加できますか?
はい。atlassian-cli jsm customer create --email new@customer.com --display-name "New Customer" で顧客を作成し、atlassian-cli jsm service-desk add-customer 10 --account-id <id> でサービスデスクに紐付けます。組織も同じ流れです。jsm organization create で作成し、jsm service-desk add-organization 10 --org-id 42 で企業全体にアクセスを付与します。
ターミナルから顧客に見える返信を投稿するには?
--public フラグを付けてコメントを追加します: atlassian-cli jsm request add-comment SD-123 --body "We are investigating and will update you shortly" --public。公開コメントは顧客ポータルに表示され、通知を発生させます。--public を省略すると、エージェントだけが見られる内部メモになります。
Atlassian 公式の acli と atlassian-cli は同じものですか?
いいえ。atlassian-cli は MIT ライセンスの、コミュニティによる独立したオープンソースプロジェクトです。Atlassian と提携・関連しておらず、Atlassian による承認、推奨、後援、保守のいずれも受けていません。Atlassian が提供する公式 CLI(acli)でもありません。ベンダーによる一次サポートが必要であれば公式の acli を、Jira、Confluence、Bitbucket、JSM をカバーする単一の無料 Rust バイナリが欲しい場合は atlassian-cli を選んでください。