背景
GitHub issueでサブタスクを作成するためには、サブタスク別途をissueとして作成し、親タスクの説明欄にサブタスクをリストとして記述する必要があります(もっといい方法あるのかもしれませんが)。
しかし、サブタスクのissueを作成して親タスクに紐付ける作業は地味に面倒なのでスクリプトを作ってみました。
作ったもの
認証周りの実装をしたくなかったので、APIではなくGitHub CLIを内部で使う方式を取っています。
そのためghコマンドで認証を済ます必要があります。
使ってみる
setup.pyを作成したのでpipでインストールできます。
# インストール
pip install -e .
# アンインストール
pip uninstall gh-subtask
サブタスクのタイトルをファイルで作成します。
Subtask-1
Subtask-2
Subtask-3
親となるissue番号、サブタスクにつけるラベル名、サブタスクのタイトルを書いたテキストファイルの名前を指定して実行します。
コマンド実行はissueを管理しているリポジトリのディレクトリで行う必要があります。
gh-subtask --issue 32 --label subtask --issue_file subtask.txt
成功するとサブタスクが作成されます。指定したラベルも付加されます。
親タスクの説明欄にもサブタスクのリストが追記されます。
動作は以上です。
感想
Pythonでコマンド叩く系のツールを作成するのに便利なpython-fireを使用ましたが、関数の名前付き引数がそのままコマンドライン引数になるためとても便利でした。
setup.pyも使う機会ありませんでしたが、pipでインストールするとどこでもコマンド使えるようになるのでこちらも便利でした。
ツールを作ったもののテキストファイル弄ったりディレクトリ移動が面倒なのでGitHub Projectsなどで簡単に追加できると嬉しいです。