GitHub の CLI を使う
GitHub を接続しておくと、エージェントが gh(GitHub CLI)でプルリクエストを作り、読み、コメントし、
CI の様子を見られます。セッションの中で gh auth login をする必要はありません。
| あなたがやること | エージェントがやること |
|---|---|
| GitHub を接続する | gh を、ログインなしで使う |
| やってほしいことを頼む | あなたのアカウントとしてプルリクエストを作る・コメントする |
| 権限が足りないと言われたら、接続を直す | 権限が足りないときは、そう伝えて止まる |
gh は、呼び出しのたびに保存済みの接続を読みます。期限のあるトークンは、git と同じように使うときに更新されます。
エージェントは最初から使い方を知っているので、コマンドを教える必要はありません。
⚙設定 →「Git ホスティング」 で GitHub(github.com)を接続します。git の clone・push と同じ接続です。 手順は Git のサービスを接続する にあります。
- GitHub Enterprise は、設定画面からは接続できません。自分で設定します
エージェントに頼む
Section titled “エージェントに頼む”ふだんどおりにお願いするだけです。
この変更でプルリクエストを作って。説明は日本語で
PR 123 のレビューコメントを読んで、直して push して
main の CI が落ちている理由を調べて
エージェントは次のようなことができます。
| やること | 例 |
|---|---|
| プルリクエストを作る | gh pr create |
| プルリクエストを一覧する・読む | gh pr list、gh pr view 123 |
| コメントを読む | gh pr view 123 --comments |
| CI を見る | gh run list、gh pr checks 123 |
| そのほかの API を呼ぶ | gh api … |
- 書き込みはあなたの名前で残ります。 できることは、あなたのアカウントと接続に許されている範囲までです
プルリクエストの説明を直す
Section titled “プルリクエストの説明を直す”テナントが組み込みの GitHub OAuth アプリで接続しているとき、トークンのスコープは repo と workflow だけです。
このトークンでは、自分の個人リポジトリでも gh pr edit が失敗することがあります。
GraphQL: … The 'login' field requires one of the following scopes: ['read:org']エージェントには、この場合は REST API で直すよう伝えてあります。自分で直すときも同じです。
gh api -X PATCH repos/<owner>/<repo>/pulls/<N> -F body=@<ファイル>gh api -X PATCH repos/<owner>/<repo>/pulls/<N> -f title="新しいタイトル"- エラーのリンク先(トークンの設定ページ)は、このトークンには当てはまりません
read:orgを付けたアクセストークンを自分で貼っていれば、このエラーは出ませんgh pr editは、ほかの理由(チームのレビュアーが見えないなど)で失敗することもあります
自分の設定で使う
Section titled “自分の設定で使う”自分で設定したものがあれば、gh はそちらを使います。
| こうしているとき | 動き |
|---|---|
GH_TOKEN か GITHUB_TOKEN を設定した |
gh はそのトークンを使い、接続は使いません |
GitHub Enterprise のホストに gh auth login した |
そのホストには、あなたが gh auth login したアカウントが使われます |
- github.com に
gh auth loginしていても、GitHub を接続していればghは接続のトークンを使います
gh がログインしていないと言う
Section titled “gh がログインしていないと言う”接続がないか、使えなくなっています。⚙設定 →「Git ホスティング」で、GitHub のカードが「接続済み」かを見てください。
- カードに「GitHub の接続を更新できませんでした。…」と出ているときは、切断してからもう一度接続します
GH_TOKENかGITHUB_TOKENが残っていると、接続は使われません
- Bitbucket の CLI を使う:Bitbucket Cloud で同じことをする
- Git のサービスを接続する:GitHub の接続と、clone・push
- 課題管理サービスを接続する:プルリクエストや Issue を左ペインに並べる
- コマンド:接続を使う CLI の一覧