ドキュメント

GitHub

GitHubをAppまたは個人用アクセストークンと接続し、それぞれが付与する権限を確認しましょう。

GitHubは、Coroidを介して接続します。GitHubアプリまたはパーソナルアクセストークン。設定はこちらで行います。設定 → 接続 → ソースコントロール。

アプリまたはトークン

アプリを利用することを推奨します。アプリはユーザー単位ではなくリポジトリ単位でアクセス権を付与し、設定者が退職しても作業を継続でき、ポーリングなしでWebhookイベントを受信できます。

アプリのインストールに組織管理者の承認が必要で取得できない場合は、トークンを使用してください。

GitHubアプリパーソナルアクセストークン
アクセス範囲リポジトリごとユーザーが閲覧可能なすべての内容
インストーラーの退職後も有効はいいいえ
Webhookイベントはいポーリング
帰属アプリトークンの所有者

アプリのインストール

GitHubを選択して設定 → 接続 → ソースコントロール、インストール手順に従ってください。GitHubではどのリポジトリにアクセス権を付与するかを指定でき、後からGitHubの設定画面で変更可能です。

プロジェクト作成時にリポジトリが表示されない場合、ほぼ確実にその特定のリポジトリへのアクセス権がアプリに付与されていないことが原因です。これが最も一般的な原因です。

トークンの使用

「repoスコープ、または contents と pull requests の読み取り・書き込み権限を持つ細粒度トークンを用意し、ソース管理の設定に貼り付けます。

トークンは保存時に暗号化され、API から返されることも、設定のエクスポートに含まれることもありません。

GitHub の Issue

同じ接続を使って、Issue を作業としてインポートすることもできます。詳しくは、作業のインポート。

作業になるイベント

App を使うと、イベント自動化により、pull request、新しい Issue、または Coroid に言及するコメントを Qualification に送信できます。詳しくは、トリガーと送信先。

これらのイベントから適格と判断された作業が自動的に開始されるのは、作成者がリポジトリへの書き込み、保守、または管理者アクセス権を持つ場合に限られます。Coroid はイベントごとに GitHub に問い合わせます。pull request の場合、作成者とはラベルを付けたりマージしたりした人ではなく、それを作成した人です。それ以外の人による作業は作成されますが、誰かが開始するまで待機します。Coroid に言及するコメントが対象となるのは、コメントの作成者が書き込み権限を持つ場合に限られます。

プルリクエストのレビュー

App を使うと、Coroid は、Coroid 自身が作成したものだけでなく、人や他のツールが作成したプルリクエストもチェックしてレビューします。Coroid 品質管理はプロジェクトのチェックを実行し、Coroid 品質管理チェックを投稿します。Coroid レビューは、確認が必要な行にコメントを付けたレビューと、Coroid レビューという名前のチェックを投稿します。どちらも「品質管理」の「プルリクエスト」で設定します。詳しくは、プルリクエスト。

リポジトリで Coroid が行うこと

  • コードを読み、理解して変更する
  • タスクごとにブランチを作成する
  • そのブランチをプッシュし、ベースブランチに対する pull request を作成する

デフォルトブランチにコミットしたり、自動でマージしたりすることはありません。マージが行われるのは、人が GitHub の pull request をマージするか、承認してマージ(Coroid)を押した場合のみです。

プロジェクトをローカルのみに設定すると、最初の操作のみが行われ、それ以外は何も行いません。 Coroid は読み取りとプルを行い、ブランチ、レビュー、チェックを Coroid 内に保持します。 App やトークンに権限があっても、プッシュ、プルリクエストの作成やコメント、チェック実行の投稿は行いません。詳しくは、同期またはローカルのみ。

ブランチ保護、必須チェック、レビューのルールは変更されず、そのまま適用されます。承認してマージも pull request 経由でマージするため、同じルールに従って成否が決まります。詳しくは、マージ。

セキュリティ

セキュリティでは App を使ってCoroid Securityチェックを投稿し、オプションの 権限を付与すると、GitHub 自身のセキュリティアラートをインポートしたり、マージキューを確認したりできます。 詳しくは、GitHub の権限と Coroid のセキュリティチェック。