🙄

GitHub CLIの使い方(issueに関して)

2020/09/26に公開

GitHub CLIの使い方(issueに関して)

はじめに

先日、GitHub CLI v1.0がリリースされた。これによって、command toolsから直接GitHubにアクセスできて、issueやPRを作成できるようになった。
ただ、まだ日本語訳がないようなので、自分のまとめ用としてこの記事を記載します。
今回は、issueの作り方に関してまとめていきたいと思います。

go issue

issueは、そもそもRedmineやBacklogといった、プロジェクトやソースコード課題管理ソフトに比べたら、機能はやや劣ると個人的には思っている。ただ、Pull Requestを紐付けたり、議論をしたり、変更履歴などをまとめたりする際にはとても便利なものとなる。

このissueに関するcommandは全部で6種類ある(この記事においては、公式ドキュメントに従って、アルファベット順に記載しています)。

gh issue close

issueをcloseするときのコマンド。

gh issue close {<number> | <url>} [flags]

[flags]に入れることができるオプション(これ以降に出てくるflagsにも全て共通)

  • —-helpは、コマンドのヘルプ(情報)を見ることができます。
  • -R, —repo OWNER/REPOは、他のレポジトリでOWNER/REPOのフォーマットを使用しているものを選択することができます。

例:#56のissueを終了したいとき。かつ、その時にこのコマンドに関するヘルプを見たい時。

$ gh issue close 56 —-help

gh issue create

issueを新たに作成するときのコマンド。

gh issue create [flags]

[flags]になにも入れない場合、issue作成のためのメニューが出てくるので、個人的には [flags]を入れずに作成してしまった方が早いと思う。

[flags]に入れることができるオプション

  • -a, --assignee login: 担当者を入力する。
  • -b, --body string: description(説明)部分について記載する。個人的には、ここはまだGUIの方が記載しやすいかと思ってます。今のところ。
  • -l, --label name: ラベル名を入力する。これは案外便利かも。2単語以上は " で囲む必要がある。
  • -m, --milestone name: マイルストーン(工数日程)を記載する。個人的には、ここもまだGUIの方が使いやすいかもしれない。
  • -p, --project name: プロジェクト名を入れる。
  • -t, --title string: タイトルを記載する。
  • -w, --web: issue作成のためにブラウザを開く(GUIでの設定に移る)。
  • --help
  • -R, --repo OWNER/REPO

gh issue list

レポジトリ内のissueを一覧で見たいときに使用するコマンド。

gh issue list [flags]

[flags]で入力できるオプション(主にfilter関連)

  • -a, --assignee string: 担当者名で絞り込み。
  • -A, --author string: 作成者名で絞り込み。ちょっと -a と紛らわしい。
  • -l, --label strings: ラベル名で絞り込み
  • -L, --limit int: fetchしたissueの最大数(デフォルトは30)
  • --mention string: メンション名(@name)で絞り込み
  • -m, --milestone number: マイルストーンのナンバーまたはタイトルで絞り込み
  • -s, --state string: {open | closed | all} のいずれかのstateで絞り込み(デフォルトはopen)
  • -w, --web: issueをwebブラウザで開く

gh issue reopen

その名の通り、issueを再び開くときに使用するコマンド

gh issue reopen {<number> | <url>} [flags]

gh issue status

自分に関係があるissueの状態を閲覧できるコマンド

gh issue status
[flags]

公式サイトでは、3つの例を挙げている。

  • Issues assigned to you: 自分が担当しているissue
  • Issues mentioning you: 自分宛にメンションされているissue
  • Issues opened by you: 自分が作成したissue

gh issue view

各issueの中身を全て閲覧するコマンド(titleやbodyなどを閲覧できる)

gh issue view {<number> | <url>} [flags]

[flags]に入力できるコマンド

  • -w, --web: webブラウザでissueを開く

最後に

今回はissueに関するコマンドをまとめてみました。所感としては、しばらく使ってみないとGUIとCUIではどっちがいいのかは判断はできないかなと思っている。今のところ使いそうなコマンドは close とかかなぁ。関連pull requestがcloseしたとしても、issueが同時にcloseするわけではないので、ちゃっちゃとコマンドで閉じた方が早いと思っている。
次回は、PRのコマンドをまとめてみようと思う。

Discussion