💻 対象読者:エンジニア・開発者

JSMとCSMのOAuth 2.0実装比較 — エンドポイント・スコープ・Forge対応の全解説

本記事は、AtlassianのJira Service Management(JSM)またはCustomer Service Management(CSM)のAPIを使って外部システムと連携を検討している開発者・エンジニアの方を対象にしています。

AtlassianのJSMとCSMはどちらもOAuth 2.0のAuthorization Code Grant(3-Legged OAuth = 3LO)を採用していますが、エンドポイント・スコープ・認証方式が異なります。本記事ではその違いを詳しく解説します。

セクション1:OAuth 2.0(3LO)の共通フロー

① ユーザーがアプリにアクセス

② アプリがAtlassian認証サーバーへリダイレクト

③ ユーザーがデータアクセスを承認

④ 認証コードを取得

⑤ アクセストークンと交換

⑥ APIへアクセス(スコープの範囲内)

セクション2:JSM vs CSM エンドポイント比較表

項目 JSM(オペレーションAPI) CSM(カスタマーサービスAPI)
ベースURL
https://api.atlassian.com/ex/jira/{cloudid}/jsm/ops/api/{api}
https://api.atlassian.com/jsm/csm/cloudid/{cloudId}/api/v1/
主な操作例
アラート: /v1/alerts
スケジュール: /v1/schedules
顧客: /customer
組織: /organization
スコープ
JSM Operations用スコープ
CSM専用スコープ(3LO用)
Forge App認証
asUser() / asApp() 両対応
asUser()のみ
Connect App対応
対応済み
未対応(将来対応予定)
スクリプト認証
Basic認証(APIトークン)も可
Basic認証も可(低セキュリティ要件向け)

セクション3:OAuthユースケース比較

ユースケース JSMでの活用 CSMでの活用
外部アプリ連携
Gmail・Slackなどの通知連携
CRM(Salesforce等)との顧客データ同期
インシデント管理
アラート自動起票・オンコールルーティング
顧客へのアウトバウンド通知連携
自動化スクリプト
チームスケジュール管理・エスカレーション
顧客組織一括更新・エンタイトルメント管理
AIコラボレーション
Rovo AIによるトリアージ自動化
Rovo AI+顧客プロファイルを組み合わせたパーソナライズ対応
Forgeアプリ
asApp()で無人バックグラウンド処理可
現状asUser()必須(ユーザーコンテキスト必要)

セクション4:CSM REST API統合を構築する際の注意点

⚠️ 開発上の重要ポイント
1. asApp()が使えないため、ユーザーコンテキストが必要なアーキテクチャ設計が必要
2. Connect Appは現時点で未対応のため、Forge AppまたはOAuth 2.0 (3LO)での実装を選択
3. バルク操作は非同期(タスクID方式)で処理されるため、ポーリング実装が必要
4. Experimentalなエンドポイントには X-ExperimentalApi: opt-in ヘッダーが必須

				
					GET /api/v1/customers
X-ExperimentalApi: opt-in
Authorization: Bearer {access_token}
Content-Type: application/json
				
			

セクション5:参考リンク集

API連携・開発のご相談も日本DSDへ

日本DSDはDevSecOpsのプロフェッショナルとして、高度なAPI連携や自動化スクリプトの開発支援も行っています。