Code Tempo と GitHub の関係

Code Tempo は GitHub のデータを活用して開発活動を可視化するサービスです。 このページでは、GitHub との連携方法、取得するデータの範囲、セキュリティポリシーについて説明します。

GitHub OAuth 認証

Code Tempo は GitHub OAuth を使用してユーザー認証を行います。 ログイン時に GitHub の認証画面が表示され、以下の権限(スコープ)へのアクセスを許可いただきます。

read:user

GitHub プロフィール情報(ユーザー名、アバター)の読み取り

user:email

メールアドレスの読み取り(ログイン識別用)

repo

リポジトリデータ(コミット、PR、Issue)の読み取り。プライベートリポジトリの分析に必要

read:org

所属する Organization の情報の読み取り

read:project

GitHub Projects v2 のデータ読み取り

repo スコープについて: GitHub OAuth の仕様上、リポジトリの読み取り専用スコープ(read:repo)は存在しません。 そのため repo スコープを要求していますが、Code Tempo はリポジトリへの書き込みは一切行いません

取得するデータの範囲

Code Tempo は GitHub の GraphQL API および REST API を使用して、以下のデータを読み取り専用で取得します。

コミット履歴

コミット数、日時、作者情報。開発活動量やコントリビューター分析に使用

Pull Request

PR のオープン/マージ/クローズ、レビュー情報。サイクルタイムや効率分析に使用

Issue

Issue の作成/クローズ状況。ブロッカー検出やプロジェクト進捗に使用

GitHub Projects

プロジェクトのアイテム、ステータス、フィールド情報。進捗追跡に使用

GitHub Actions

ワークフロー実行履歴。デプロイ頻度の計測に使用

ブランチ情報

ブランチの一覧と最終更新日時。ステイルブランチ検出に使用

Code Tempo が行わないこと

Code Tempo は分析・可視化に特化したサービスです。 以下の操作は一切行いません

コードの変更・書き込み

リポジトリへのコミット、プッシュ、ブランチ作成、ファイル変更は行いません。

Issue / PR の作成・変更

Issue や Pull Request の作成、コメント、ラベル付け、クローズは行いません。

リポジトリ設定の変更

Webhook、ブランチ保護ルール、コラボレーター設定などの変更は行いません。

第三者へのデータ共有

取得したデータを外部サービスや第三者に提供・販売することはありません。

データの保存と利用

アクセストークンの管理

GitHub アクセストークンはサーバーサイドの暗号化された JWT に保存され、ブラウザには送信されません。セッションは 24 時間で有効期限が切れます。

分析データのキャッシュ

API レスポンスは一時的にキャッシュされ、パフォーマンス向上に使用されます。キャッシュは自動的に更新・期限切れとなります。

最小限のデータ保持

ユーザーアカウント情報(GitHub ID、ログイン名、メールアドレス)のみをデータベースに保存します。リポジトリのソースコード自体は保存しません。

プライベートリポジトリについて

プライベートリポジトリのデータも、パブリックリポジトリと同じポリシーで取り扱います。

  • プライベートリポジトリのデータは、そのリポジトリにアクセス権を持つユーザーにのみ表示されます
  • 分析データは他のユーザーと共有されません
  • ソースコードの内容自体は取得・保存しません(メタデータのみ使用)

リポジトリの選択はリポジトリの選択と管理ページから変更できます。不要なリポジトリはいつでも分析対象から外せます。

GitHub API のレート制限

GitHub API にはリクエスト数の制限(レート制限)があります。 Code Tempo はこの制限を考慮して設計されています。

GraphQL API

1 時間あたり 5,000 ポイント。複雑なクエリほど多くのポイントを消費します。

REST API

1 時間あたり 5,000 リクエスト。デプロイ頻度やブランチ情報の取得に使用します。

レート制限に達した場合、一時的にデータの取得が遅延する可能性があります。 通常の利用では問題になることはほとんどありません。

連携の解除

Code Tempo との連携はいつでも解除できます。GitHub のSettings → Applications → Authorized OAuth Apps から Code Tempo を取り消すと、アクセストークンが無効化され、Code Tempo はデータを取得できなくなります。