Closed10
GitHub CLI で label の一覧を取得する
プルリクエストにラベルを付けるようにしようかと思ったのだが補完が効かなったのでとりあえず一覧を取得する。
GiitHub CLI にラベル一覧を表示するコマンドはなさそう。
$ gh api
でどうにかできないか調べた。
一覧を取得する API
ためしてみる。
$ gh api repos/{owner}/{repo}/labels
[
{
"id": 3745722954,
"node_id": "LA_kwDOGs7zUc7fQzJK",
"url": "https://api.github.com/repos/hankei6km/gas-md2html/labels/bug",
"name": "bug",
"color": "d73a4a",
"default": true,
"description": "Something isn't working"
},
<snip>
{
"id": 3745722967,
"node_id": "LA_kwDOGs7zUc7fQzJX",
"url": "https://api.github.com/repos/hankei6km/gas-md2html/labels/wontfix",
"name": "wontfix",
"color": "ffffff",
"default": true,
"description": "This will not be worked on"
}
]
JSON の取得ができた。
--jq
で整形する。
$ gh api repos/{owner}/{repo}/labels --jq '.[].name'
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
一覧になった。
当面はこれをコピペするというとでクローズ。
(たぶん面倒になってくるとおもうけど)
やはり面倒になった。
入力補完のスクリプトを作る。
gh pr create -l
と gh pr edit --add-label
はリポジトリから一覧をとってくる。
これは上記の方法でできる。
gh pr edit --remove-label
はプルリクエストの追加されているラベルの一覧をとってくる。
これは以下のように --json
を使うとできる。
$ gh pr view --json labels --jq .labels[].name
enhancement
issue の場合。
とくに違いはないかな。
$ gh issue view 2 --json labels --jq .labels[].name
bug
documentation
question
上記の組み合わせでそれっぽく入力補完できるようになった。
再度クローズ。
記事にした。
このスクラップは2022/01/25にクローズされました