「毎日、GitHubの画面を何度も往復して、同じようなポチポチ作業を繰り返していませんか?」
そう問いかけたくなるほど、多くのエンジニアが「ブラウザでの手作業」という沼にハマっています。GitHubは単なるコード置き場ではありません。APIという「裏口」を使えば、開発のルーチンワークはすべて自動化できるのです。
今日は、あなたの開発効率を爆速化させるための「GitHub APIハック」の第一歩を、余計な前置きなしで解説します。
—
1. 魔法の鍵:Personal Access Token (PAT) を発行する
GitHub APIを叩くには、あなた自身を証明する「アクセストークン」が必要です。
1. GitHub右上のアイコン > Settings > 左下の Developer settings
2. Personal access tokens > Tokens (classic) を選択(最初はclassicが最も扱いやすいです)
3. Generate new token (classic) をクリック
4. Select scopes で `repo` にチェックを入れる(これでリポジトリ操作の権限が得られます)
5. 発行された文字列(`ghp_`から始まるもの)をコピー。二度と表示されないので、必ず安全な場所に保存してください。
—
2. 世界最速の「HelloWorld」:curlでリポジトリ情報を抜く
まずは、ターミナルからGitHubに挨拶してみましょう。環境構築は不要。macOSやLinuxなら最初から入っている `curl` コマンドで十分です。
GITHUB_TOKENには先ほど発行した文字列を、GITHUB_USERにはあなたのIDを入れてください
curl -H “Authorization: token $GITHUB_TOKEN” \
https://api.github.com/user/repos
このコマンドを打つと、JSONの嵐が返ってくるはずです。これが「GitHubが持っているあなたのリポジトリデータ」の全貌です。ターミナルに直接JSONが出ると見づらいので、`jq`コマンド(`brew install jq`)を組み合わせて整形しましょう。
あなたのリポジトリ名を一覧で表示する
curl -H “Authorization: token $GITHUB_TOKEN” \
https://api.github.com/user/repos | jq ‘.[].name’
これだけで、ブラウザを開かずに自分の全リポジトリを把握できました。
—
3. 実践:Issueを一括で自動作成するスクリプト
ここからが本題です。「新しいプロジェクトを立ち上げるたびに、決まったIssue(TODOリスト)を作る」という作業を自動化してみましょう。Pythonを使えば驚くほど簡単です。
まずはライブラリをインストール:
`pip install requests`
`create_issue.py`
import requests
import json
設定(環境変数から読み込むのがベストプラクティスです)
TOKEN = “あなたのトークン”
REPO_OWNER = “your-username”
REPO_NAME = “your-repo-name”
headers = {
“Authorization”: f”token {TOKEN}”,
“Accept”: “application/vnd.github.v3+json”
}
def create_issue(title, body):
url = f”https://api.github.com/repos/{REPO_OWNER}/{REPO_NAME}/issues”
payload = {“title”: title, “body”: body}
response = requests.post(url, headers=headers, data=json.dumps(payload))
if response.status_code == 201:
print(f”成功: Issue ‘{title}’ を作成しました!”)
else:
print(f”失敗: {response.content}”)
実行
create_issue(“初期セットアップの確認”, “README.mdの更新とCIの設定を完了させる”)
—
4. 伝説のエンジニアからの「極限の知見」:ここからがスタート
このコードが動いた瞬間、あなたの開発スタイルは変わります。しかし、本当のプロはここで満足しません。以下のステップを踏むことで、さらに効率は加速します。
- 環境変数の管理: トークンをコードに直書きするのは厳禁です。`.env`ファイルと`python-dotenv`を使い、絶対にGitにコミットしないようにしましょう。
- GitHub CLI (gh) の活用: 実は、高度な作業の多くはGitHub公式のCLIツール `gh` で完結します。まずはAPIを叩いて仕組みを理解し、複雑なロジックが必要な時だけスクリプトを書く、という使い分けが最強です。
- イベント駆動の自動化: GitHub Actionsと組み合わせれば、「Issueが作られたら自動でSlackに通知」「PRがマージされたら特定のドキュメントを更新」といったワークフローを自作できます。
最後に
「面倒だ」と感じた作業は、すべて自動化のチャンスです。APIを叩くことは、GitHubという巨大なプラットフォームをあなたの手足にする行為です。
まずは今日、上のスクリプトを動かして「自分だけの自動化ツール」を一つ作ってみてください。その小さな積み重ねが、数年後にあなたを「ただのエンジニア」から「システムを支配するエンジニア」へと引き上げますよ。
何か詰まったら、いつでも聞いてください。応援しています!