【入門編】Bitbucket APIを活用して開発環境を自作する:Pythonを使った自動リポジトリ管理 – バージョン管理・CI/CD活用バイブル

エンジニアの皆さん、こんにちは。

日々、Bitbucketの画面をポチポチと操作してリポジトリを作成したり、設定を変更したりしていませんか?もしあなたが「面倒だな」と心のどこかで感じているなら、それは自動化のサインです。

今日は、BitbucketのREST APIをPythonで叩き、あなたの開発環境を「自律するシステム」へと進化させる方法を伝授します。単なるAPIの使い方の説明ではありません。「開発のボトルネックをコードで破壊する」ための第一歩です。

—

1. なぜ「Bitbucket API」なのか?

GUIは直感的ですが、「再現性がない」という致命的な弱点があります。

  • チームメンバーが増えるたびにリポジトリ設定を手動で行う。
  • プロジェクトごとの標準設定(ブランチ権限など)を毎回コピペで設定する。

これらはすべて「技術的負債」の種です。APIを使えば、プロジェクトの立ち上げから設定までを数秒で完了できます。これができるエンジニアとそうでないエンジニアでは、長期的に見て生産性に数倍の差がつきます。

—

2. 準備:最強の自動化環境を整える

まずは、Bitbucketと対話するためのパスポート(認証)を手に入れましょう。

ステップ1:アプリパスワードの発行

1. Bitbucketにログインし、右上のアバターから「個人設定」へ。
2. 「アクセス管理」>「アプリパスワード」を選択。
3. 「リポジトリ(読み取り・書き込み)」の権限にチェックを入れ、パスワードを生成します。

  • 重要: 生成されたパスワードは一度しか表示されません。安全な場所に保管してください。

ステップ2:Python環境の整備

`requests` ライブラリを使えば、どんな複雑なリクエストも一行で書けます。

pip install requests

—

3. Hello World:リポジトリ情報を取得する

まずは、自分のリポジトリ一覧を表示させてみましょう。これができれば、あとは何でもできます。

import requests
from requests.auth import HTTPBasicAuth

設定値
USERNAME = ‘your_username’
APP_PASSWORD = ‘your_app_password’
WORKSPACE = ‘your_workspace_name’

Bitbucket APIのエンドポイント
url = f”https://api.bitbucket.org/2.0/repositories/{WORKSPACE}”

認証付きリクエスト
response = requests.get(url, auth=HTTPBasicAuth(USERNAME, APP_PASSWORD))

if response.status_code == 200:
repos = response.json()
for repo in repos[‘values’]:
print(f”リポジトリ発見: {repo[‘name’]}”)
else:
print(f”エラー発生: {response.status_code}”)

これだけで、Bitbucketの内部構造があなたの手元に可視化されました。

—

4. 実践:リポジトリを自動作成する

現場で最も役立つ「新プロジェクト立ち上げ自動化」のコードです。

def create_repository(repo_name):
url = f”https://api.bitbucket.org/2.0/repositories/{WORKSPACE}/{repo_name}”

# リポジトリ作成の構成データ
payload = {
“scm”: “git”,
“is_private”: True,
“project”: {“key”: “PROJ”} # 事前に作成したプロジェクトキー
}

response = requests.post(url, json=payload, auth=HTTPBasicAuth(USERNAME, APP_PASSWORD))

if response.status_code == 201:
print(f”🚀 リポジトリ ‘{repo_name}’ を作成しました!”)
else:
print(f”❌ 作成失敗: {response.text}”)

create_repository(“new-awesome-project”)

—

5. プロフェッショナルのための「次のステップ」

ここまでできれば、あなたはすでに「手動の奴隷」から解放されました。さらに先へ行くためのヒントを授けます。

1. コミットログの自動抽出: APIを使って過去のコミット履歴をJSONで取得し、それをPandasで集計すれば、「誰がどのくらいコードを書いているか(または苦戦しているか)」を可視化するダッシュボードを自作できます。
2. ブランチ保護ルールの適用: リポジトリ作成直後に、mainブランチへの直接pushを禁止するAPIを叩くようにすれば、チームの品質を強制的に底上げできます。
3. 環境変数管理: 認証情報をコードに直書きしてはいけません。`.env` ファイルと `python-dotenv` を使い、設定を安全に分離する癖をつけましょう。

最後に

自動化の本質は「怠惰」にあるのではなく、「人間がやるべき価値ある仕事」に集中するための環境づくりにあります。

Bitbucket APIは、あなたの開発ライフを劇的に楽にする強力な武器です。今日紹介したコードをコピーするだけでなく、ぜひ「自分のチームには何が足りないか?」を考えながら改造してみてください。

分からないことがあれば、いつでもまた聞きに来てくださいね。あなたの開発者ライフが、より創造的で快適なものになることを応援しています!

タイトルとURLをコピーしました