導入
Backlogを利用する際、自分が契約しているスペースが「新プラン」なのか「クラシックプラン」なのかを把握することは、DevOpsの観点からも非常に重要です。特に、APIの制限や認証方式、さらには組織管理機能の有無がプランによって大きく異なるため、自動化ツールや連携スクリプトを構築する前に、現在の環境がどちらであるかを正しく認識しておく必要があります。本記事では、GUIでの確認方法と、エンジニア向けにAPI経由での判別方法を解説します。
基礎知識
Backlogの「新プラン」は、組織(Organization)という概念が導入されており、ユーザー管理やセキュリティ設定が統合的に行えます。対して「クラシックプラン」は、スペース単位での管理が主となる旧来の形式です。
GUIでの確認は非常に簡単で、画面上部のグローバルバー、自身のアイコンの右側に「組織名」が表示されていれば新プラン、表示されていなければクラシックプランです。
実装/解決策
インフラエンジニアとしては、スクリプトで自動的にプランを判定したい場面があります。最も確実な方法は、Backlog APIの「スペース情報の取得」エンドポイントを叩くことです。新プランの場合、レスポンスの中に「organization」というオブジェクトが含まれます。このキーの有無を確認することで、プログラム的にプランの切り分けが可能です。
サンプルプログラム
以下のPythonコードは、Backlog APIを使用して現在のスペースが新プランかどうかを判定する実用的なスクリプトです。
import requests
スペースIDとAPIキーを設定
SPACE_ID = "your_space_id"
API_KEY = "your_api_key"
BASE_URL = f"https://{SPACE_ID}.backlog.com/api/v2/space?apiKey={API_KEY}"
def check_backlog_plan():
try:
response = requests.get(BASE_URL)
response.raise_for_status()
data = response.json()
# 'organization' キーが存在するかでプランを判定
if "organization" in data:
print("現在の環境は「新プラン」です。組織管理機能が有効です。")
else:
print("現在の環境は「クラシックプラン」です。")
except requests.exceptions.RequestException as e:
print(f"エラーが発生しました: {e}")
if __name__ == "__main__":
check_backlog_plan()
応用・注意点
注意すべき点として、クラシックプランから新プランへ移行する際には、API認証(APIキーの扱い)や、WebHookの設定が引き継がれない、あるいは再設定が必要になるケースがあります。特にCI/CDツールなどでBacklogのAPIを利用している場合、プラン移行後に突然スクリプトが動かなくなるリスクがあるため、移行前には必ずAPIの動作検証を行ってください。また、組織管理機能が導入されたことで、APIキーの発行権限が組織管理者に制限される場合がある点も、運用設計上の注意点として覚えておきましょう。

コメント