0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Github開発】ghコマンドを入れてCLIで触ってみた。

Posted at

gh はGithubをCLIでコントロールする為のAPIツールである。簡単にWSLにインストールできて使用してみた所感を記載していきます。

インストール方法

WSLへのインストール方法は下記の記事を参考にしました。

実際にインストールしてauthの認証を実施して、下記のようにGithubの情報を取得した更新したりすることができる。

 (base) user@DESKTOP-C0A2DE7:~/Github_repo/my_repo_internal$ gh issue list

Showing 6 of 6 open issues in Life-Tech316/My_repo_internal

ID  TITLE                     LABELS  UPDATED
#6  GCP認定_スキルアップ              about 10 minutes ago
#5  カーソルのエディタ調査            about 10 minutes ago
xxxx

試しに下記のようにレポジトリ間でissueをコピーするスクリプトを実施して、コピー先のレポジトリにissueが作成できることを確認できました。

bash.sh
#!/bin/bash

SRC_REPO="Life-Tech316/my_repo"
DEST_REPO="Life-Tech316/My_repo_internal"
ISSUE_LIMIT=10

# 一時ファイル
TMP_FILE=$(mktemp)

# 1. issue一覧を取得
gh issue list -R "$SRC_REPO" --limit $ISSUE_LIMIT --json number,title | jq -c '.[]' | while read -r issue_json; do
    ISSUE_NUMBER=$(echo "$issue_json" | jq -r '.number')
    TITLE=$(echo "$issue_json" | jq -r '.title')

    echo "Copying Issue #$ISSUE_NUMBER: $TITLE"

    # 2. 元Issueの本文を取得
    BODY=$(gh issue view "$ISSUE_NUMBER" -R "$SRC_REPO" --json body | jq -r '.body')

    # 3. コピー先に作成
    gh issue create -R "$DEST_REPO" --title "$TITLE" --body "$BODY"
done

# Cleanup
rm "$TMP_FILE"

最後に

 ghコマンドを使ってCLIで操作できるのはスクリプト操作ができるので楽ですね。今後、活用していきたいと思います。

以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?