Closed10

GitHub CLI で label の一覧を取得する

hankei6kmhankei6km

プルリクエストにラベルを付けるようにしようかと思ったのだが補完が効かなったのでとりあえず一覧を取得する。

hankei6kmhankei6km

GiitHub CLI にラベル一覧を表示するコマンドはなさそう。

$ gh api でどうにかできないか調べた。

hankei6kmhankei6km

ためしてみる。

$ 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 の取得ができた。

hankei6kmhankei6km

--jq で整形する。

$ gh api repos/{owner}/{repo}/labels --jq '.[].name'
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix

一覧になった。

当面はこれをコピペするというとでクローズ。
(たぶん面倒になってくるとおもうけど)

hankei6kmhankei6km

gh pr create -lgh pr edit --add-label はリポジトリから一覧をとってくる。
これは上記の方法でできる。

gh pr edit --remove-label はプルリクエストの追加されているラベルの一覧をとってくる。
これは以下のように --json を使うとできる。

$ gh pr view --json labels --jq .labels[].name
enhancement
hankei6kmhankei6km

issue の場合。
とくに違いはないかな。

$ gh issue view 2 --json labels --jq .labels[].name
bug
documentation
question
hankei6kmhankei6km

上記の組み合わせでそれっぽく入力補完できるようになった。

再度クローズ。

このスクラップは2022/01/25にクローズされました