メインコンテンツにスキップ

Atlassian APIレート制限の新仕様、あなたのシステムは大丈夫?

2026年3月からAtlassian CloudのAPIレート制限は、リクエスト数ベースからポイント制へ移行。Jira統合では認証方式ごとの適用範囲、バースト制限、429対策、差分取得、ヘッダ監視を踏まえた設計見直しが重要です。API token利用は影響が限定的な一方、OAuth/Forge/Connectでは事前試算と運用設計が不可欠です。

ポイント制移行で変わる「Jira統合」設計の常識

2026年3月2日から、Atlassian Cloud のAPIレート制限が大きく刷新されました。「リクエスト数」での制限から「ポイント」での制限へ — 一見すると地味な変更に思えますが、実はこれまで「やってはいけない」とされていた API 利用パターンが、設計次第で十分実現可能になるという、大きな転換点です。

本記事では、Atlassian Gold Partner として多くのJira統合案件を支援してきた INNOOV の視点から、新仕様の本質と、皆さまの既存システムへの影響をわかりやすく解説します。

なぜ今、この話を取り上げるのか

「Jiraから業務データを Power BI や Excel に連携している」「夜間に全件取得するバッチを動かしている」 — これらのいずれかに該当するなら、本記事は他人事ではありません。

実は、2026年3月以降の新仕様は 既存統合の見直しが必要なケースと、逆に過去に諦めていた設計が可能になるケース の両方を生み出しています。「とりあえず動いているから」という理由で放置すると、ある日突然 429 Too Many Requests エラーが多発し、ダッシュボードが止まる、ということになりかねません。

本記事を読み終えた頃には、以下が判断できるようになっているはずです。

  • 自社のJira統合が新仕様の影響を受けるか

  • どの認証方式を使っていれば、何を意識すべきか

  • 1万件を取得するのに実際どれくらいの時間がかかるか

  • 設計を見直すべき具体的なポイントは何か

旧仕様と新仕様、何が変わったのか

Before: 不透明な制限の時代

2026年2月以前のAtlassian APIレート制限は、ハッキリ言って 「ブラックボックス」 でした。

公式ドキュメントには「制限は継続的に最適化のため進化している」と書かれており、具体的な数値が公開されていませんでした。エンタープライズ用途で大規模統合を構築するエンジニアたちは、こんな悩みを抱えていました。

  • 全件取得はリスクが高すぎて避けたい

  • いつ 429 エラーが返るかわからない

  • 差分取得 + サマリ集約で凌ぐしかない

  • 何件まで安全なのか、誰も明確に答えられない

結果として、「動いているシステムには触らない」「夜間のごく短時間だけ実行する」といった、防衛的で保守的な設計を強いられていました。

After: 計算可能な制限の時代

2026年3月の新仕様では、全てが数値として公開され、事前計算が可能になりました

これは「制限が緩くなった」のではなく、「制限が読めるようになった」 という変化です。読めるということは、設計できるということ。これまで「危険だから」と避けてきたパターンが、適切な設計のもとで現実的な選択肢になります。

具体的な変化を表で整理すると以下のようになります。

観点

Before (〜2026年2月)

After (2026年3月〜)

計測単位

リクエスト数

ポイント (作業量)

公式数値

非公開

公開 (例: 65,000pt/時)

予測可能性

困難

完全試算可能

全件取得

事実上タブー

設計次第で現実的

監視

エラーログから推測

ヘッダで実測

新仕様の核心: 3つの独立した制限レイヤー

新APIレート制限は、3つの独立したシステムが同時に動いています。1つでも超えれば 429 が返るため、片方だけ最適化しても解決しません。

① ポイント制クォータ(時間単位)

作業量に応じてポイントを消費 する仕組みです。各APIリクエストには基本コスト1ポイントが乗り、そこに 返ってくるオブジェクトの種類と数 に応じてポイントが加算されます。

オブジェクトの種類別の単価は以下のとおりです。

操作種別

単価

対象例

Core 読取 (GET)

1pt / 件

Issue, Project, Dashboard, Attachment

ID / 権限 読取 (GET)

2pt / 件

User, Group, Role, Permission

書込 (POST/PUT/DELETE)

1pt 固定

Issue作成・編集・削除など

未分類

1pt / 件

カタログ未掲載のオブジェクト

例えば、Issue を 100件まとめて取得 すると以下のようになります。

1pt (基本) + 100pt (Issue × 100件) = 101pt

書込操作は何件処理しても 1ポイント固定 という点が興味深いところです。Issue を50件まとめて作成しても、1件ずつ50回作成しても、消費ポイントは同じ50ptです。

Tier 1 と Tier 2 の違い

ポイントクォータには2つのTierがあります。

Tier 1 (Global Pool): 既定の設定です。全テナント共有で 65,000 pt/時 が割り当てられます。大半のアプリはここで十分機能します。

Tier 2 (Per-Tenant Pool): 高負荷アプリ向けの申請制プールです。テナント毎に専用枠が割り当てられ、ユーザー数に応じてスケールします。

  • Standard: 100,000 + (10 × ユーザー数) pt/時

  • Premium: 130,000 + (20 × ユーザー数) pt/時

  • Enterprise: 150,000 + (30 × ユーザー数) pt/時(上限 500,000)

Tier 2 は Atlassian の審査を経て昇格しますが、通常のSI案件では Tier 1 で十分なケースがほとんどです。

② バースト制限(秒単位)

1秒あたりのリクエスト数 に対する制限で、エンドポイント毎に独立しています。トークンバケット方式で実装されており、短期的なスパイクをある程度許容しつつ、持続的な高負荷を防ぎます。

既定値は以下のとおりです。

  • GET: 100 req/秒

  • POST: 100 req/秒

  • PUT: 50 req/秒

  • DELETE: 50 req/秒

ただし、一部のエンドポイントには個別の上限が設定されています。例えば GET /api/3/issue/{key} は 150 req/秒と高めに、逆に GET /servicedeskapi/.../customer は 5 req/秒と極めて低く設定 されています。後者のような特殊なエンドポイントを使う場合は注意が必要です。

③ Per-Issue 書込制限

単一のIssueに対する連続書込を防ぐ仕組みで、同じIssueに対して 2秒間に20回、または 30秒間に100回まで という制限があります。

Jira Automation のルールが暴走して同じIssueを何度も更新するようなケースで発動します。通常のETL処理ではあまり意識する必要はありませんが、ワークフローを設計する際は頭の片隅に置いておきましょう。

ここが重要: 認証方式で適用範囲が変わる

新仕様で 最も誤解しやすい論点 がここです。新ポイント制は すべてのAPI利用に適用されるわけではありません

認証方式

新ポイント制

Tier 1/2

バースト制限

主な用途

API token (Basic auth)

対象外

概念なし

適用

社内ETL、Pythonスクリプト等

OAuth 2.0 (3LO)

対象

適用

適用

外部連携アプリ

Forge アプリ

対象

適用

適用

Atlassian上の独自アプリ

Connect アプリ

対象

適用

適用

Marketplace向けアプリ

つまり、多くの企業で運用されている「Python + API token」のETLスクリプトは、新ポイント制の対象外 です。バースト制限(秒単位)のみを意識すれば良いので、実質的な影響は限定的です。

一方、Marketplaceアプリを開発している場合や、将来 OAuth/Forge への移行を検討している場合 は、新仕様の全レイヤーが適用されます。設計段階で慎重な検討が必要です。

1万件取得に何分かかるのか?実測ベースで検証

理論はわかった。では実際、1万件のJiraチケットを取得するのに、どれくらいの時間がかかる のでしょうか。

INNOOVが実プロジェクトで計測した結果を共有します。

計算条件

  • 取得対象: 10,000 チケット

  • エンドポイント: GET /rest/api/3/search

  • バッチサイズ: 100件/リクエスト → 100リクエスト必要

  • 実行: 順次 + 100ms スリープ

結果

認証方式

所要時間

ボトルネック

API token

約60秒

Jira応答時間

OAuth Tier 1

約60秒

Jira応答時間

OAuth Tier 2

約60秒

Jira応答時間

意外なことに、3方式とも所要時間はほぼ同じ約60秒 です。理由は、実時間の支配要因が Jira サーバー側の応答時間(平均500ms - 1秒) であり、レート制限ではないからです。バースト制限の100/秒に対して、現実的には秒間10前後しか出ません。

違いは「頻度」と「他テナントとの競合」

では何が違うのか。3つの本質的な違いがあります。

1日に実行できる回数

  • API token: 制約なし。何回でも実行可能

  • OAuth Tier 1: 約154回/日(他テナントと共有のため実質はもっと少ない)

  • OAuth Tier 2: テナント数に応じて多数回可能

他テナントとの競合

ここが Tier 1 OAuth の 隠れたリスク です。同じMarketplaceアプリの他テナントが大量取得すると、自テナントの枠まで圧迫されることがあります。Tier 2 ではこの問題は解消されます。

実装の手軽さ

API token が圧倒的にシンプルです。OAuth は認可フローや refresh token 管理が必要で、運用負荷が増えます。

結論

社内ETLとして利用するなら API token が依然として最適解 です。シンプル、競合なし、新ポイント制の影響を受けない。一方、Marketplaceアプリ開発など複数テナントへの提供が前提なら、OAuth/Forge への移行と Tier 2 申請も視野に入れる必要があります。

実装で押さえるべき4つのポイント

新仕様下でPython等で実装する際に、最低限押さえるべきポイントを整理します。

1. Retry-After ヘッダを必ず尊重

429 が返ってきた時、AtlassianはレスポンスヘッダでRetry-Afterを返してくれます。これを無視してすぐリトライすると、再び429が返り、悪化 します。

if response.status_code == 429:

wait = int(response.headers.get('Retry-After', 5))

time.sleep(wait)

2. 指数バックオフ + ジッターの併用

429が連続する場合は、待機時間を倍々に増やす(指数バックオフ)に加え、ランダムな揺らぎ(ジッター)を加えます。これにより複数のジョブが同時に再開して再衝突する 「サンダリングハード問題」 を防げます。

delay = min(delay * 2, 30)

time.sleep(delay * random.uniform(0.7, 1.3))

3. レスポンスヘッダで使用量を実測

新仕様の大きな恩恵は、X-RateLimit-Remaining で 残量がリアルタイムで把握できる ことです。20%以下になったら速度を抑制するなど、適応的な制御が可能になります。

remaining = int(response.headers.get('X-RateLimit-Remaining', 65000))

if remaining < 13000: # 20%以下

time.sleep(60)

4. fields指定で応答を軽量化

fields=*all で全フィールドを取得するのは無駄が多いです。必要なフィールドだけを指定 することで、応答サイズが激減し、処理時間も短縮されます。

params = {

'jql': 'updated >= -1d',

'fields': 'summary,status,assignee,priority,created,updated',

'maxResults': 100

}

ポイント消費自体は変わりませんが、転送量と処理時間は2-3倍改善するケースもあります。

やってはいけないアンチパターン

逆に、絶対に避けるべき設計パターン も整理しておきます。

並列無制限の取得

asyncio で数百リクエストを同時投入すると、最初の数件でバースト枠を使い切り、残りは全て 429 で失敗します。順次実行 + 短い間隔(100ms程度) が確実です。

リトライ機構なしの実装

429 で即エラー終了してETL全体が失敗するパターン。瞬間的なスパイクで全件処理が止まります。指数バックオフは必須 です。

毎時の全件取得

差分取得を実装せずに毎時全件取りに行くパターン。Tier 1 枠を圧迫し、他統合への影響も出ます。updated >= -Xd で差分取得 を実装するだけで、API呼出は1/100になります。

ログ無しの本番運用

X-RateLimit-Remaining などのヘッダ情報を記録していないと、突然の429時に原因不明で復旧に時間がかかります。全リクエストでヘッダ値をログ化 しておきましょう。

あなたの統合は大丈夫?5つのチェックリスト

最後に、自社のJira統合が新仕様の影響を受けるかどうか、5つのチェック項目で診断してみてください。

Q1. 直近で 429 Too Many Requests エラーを観測したことがある

頻度を計測してください。一時的なものか、パターンがあるか。ログに RateLimit-Reason ヘッダがあれば、原因の特定も可能です。

Q2. Jiraから毎日 数万件以上のデータを取得する処理がある

全件洗替方式なら 差分方式への移行検討 が必要です。バッチ実行時間が伸びてきていないか確認してください。

Q3. Python スクリプトを OAuth/Forge/Connect 認証で書き換える計画がある

新ポイント制が適用されるようになります。現状のリクエスト量で Tier 1 (65,000pt/時)の枠内に収まるか、事前試算 が必要です。

Q4. Atlassian Marketplace でアプリを公開している/する予定

Tier 1 共有プールでの運用となります。高負荷なら Tier 2 申請の準備 を進めましょう。Developer Console で現状を確認できます。

Q5. 複数のJira統合(BI/CRM/通知等)が同じテナントで動いている

互いに干渉する可能性があります。統合間のスケジュール調整 や、API token の共有を見直す必要があるかもしれません。

1つでも該当する場合は、新仕様への対応設計を始めることをお勧めします。

INNOOVからのご提案

INNOOV は Atlassian Gold Partner として、多くの企業のJira統合プロジェクトを支援してきました。新仕様への対応では、以下のサービスを提供しています。

  • 現状診断(1〜2週間): 既存統合のAPI使用パターン分析、ポイント消費試算、429発生リスク可視化

  • 設計レビュー(2〜4週間): 差分取得・バッチ設計の見直し、ETL方式の比較検討、横展開可能な標準パターン策定

  • 実装支援(4〜12週間): Python ETLの本番運用品質化、ヘッダ駆動の制御ロジック実装、ロギング/アラート設計、並行運用→切替までの全工程

「うちの環境は大丈夫だろうか」とご不安をお持ちでしたら、まずは 現状診断 からお気軽にご相談ください。

まとめ

2026年3月のAtlassian APIレート制限の新仕様は、一見地味な変更に見えますが、Jira統合の設計戦略を根本から見直す絶好の機会 です。

  • 計算可能になった ため、これまで「リスクが高い」と諦めていた設計が現実的に

  • 3つの独立した制限 が同時に効くため、片方だけの最適化では不十分

  • 認証方式によって適用範囲が違う ため、まず自社の状況を正確に把握することが第一歩

  • API token利用なら影響は限定的 だが、それでもバースト制限への対応は必要

  • OAuth/Forge/Connect移行を検討中なら 新仕様の全レイヤーが適用されるため要設計

新仕様を味方につけるか、リスクとして放置するかは、ここからの設計次第です。INNOOVは皆さまの統合がより安定し、より柔軟になるよう、これからもサポートしてまいります。

参考リンク

INNOOV株式会社

本記事は 2026年5月時点の情報に基づいて執筆されています。API仕様は今後も調整される可能性があるため、最新情報は必ず Atlassian公式ドキュメントでご確認ください。

こちらの回答で解決しましたか?