Open7
GitHub REST API

🧩 GitHub REST APIとは?
GitHub REST APIとは、GitHubのリポジトリやIssue、Pull Requestなどの情報を取得・操作できるAPIです。
外部ツールやスクリプトからGitHubを自動化・統合するために使われます。
✅ できること一覧(主な機能)
機能カテゴリ | できることの例 |
---|---|
リポジトリ管理 | 作成・削除・更新、スター・フォーク情報取得など |
イシュー管理 | Issueの作成・更新・コメント・ラベル操作 |
プルリク管理 | PRの作成・マージ・レビューリクエスト送信 |
コミット&ブランチ | コミットログ取得、ブランチ作成・保護設定など |
アクション管理 | GitHub Actionsのワークフロー状況取得、再実行など |
コラボレーター管理 | ユーザーの招待、権限付与、削除など |
🔑 認証方法
- 基本は Personal Access Token(PAT)
- トークンは https://github.com/settings/tokens から発行
- 認証ヘッダー例:
Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN

📘 よく使うエンドポイント一覧

🛠️ 実例(Node.js + axios)
※xiosとは、JavaScriptでHTTP通信を簡単に実現できるライブラリです。
import axios from 'axios';
const token = 'YOUR_GITHUB_PAT';
const repo = 'your-repo-name';
const owner = 'your-username';
axios.post(`https://api.github.com/repos/${owner}/${repo}/issues`, {
title: "Figmaでデザインした新機能の実装",
body: "FigmaのコメントをもとにIssue化しました。詳細はFigmaリンクを参照。"
}, {
headers: {
Authorization: `Bearer ${token}`,
Accept: 'application/vnd.github.v3+json'
}
}).then(res => {
console.log('✅ Issue created:', res.data.html_url);
});

🔁 REST vs GraphQL(どっちを使う?)

💡 活用例
• FigmaコメントからIssueを自動生成(デザイン ⇄ GitHub連携)
• Google SheetsやNotionからGitHubタスクを自動登録
• SlackやDiscordと連携してPR通知を送信
• GitHub Actionsと組み合わせてCI/CDフロー構築

📚 公式ドキュメント
• GitHub REST API v3
👉 https://docs.github.com/en/rest

🔚 まとめ
GitHub REST APIを使うと、
• Issueの自動生成
• Pull Requestの管理
• リポジトリの分析・可視化
などがスクリプトやツールから実行可能になります。