nulab の Backlog をコマンドラインで見るために、 ツールを作りました。
経緯
開発者に予定を聞くと、 Backlog の 課題(Issue)番号でなにをやるかを答えてくることが結構ありました。
しかし Backlog をいちいち開くのも時間がかかります。
コマンドラインで見られればもっと仕事はやくおわるのではと思ってツールを作りました。
作ったツールの使い方
まだ jar 作るところまでしかやってないのですが、 https://github.com/qw3rtman/jbin など使うと単体で実行できるアプリにできるみたいです。
はじめに
最初に実行するとドメイン名とAPIキーを聞かれます。
入力するとホームディレクトリに .blt/config
というファイルを作って保存します。
input domain: XXXXXX
input api key: XXXXXX
Save? [y/N]
2回目からは保存された情報を使います。
プロジェクトの設定
set project XXXX
と入力して使うプロジェクトを決めます。
set project XXXXX
The project is set to XXXXX.
ここからプロジェクト内の課題やPRを見ていくことができます。
課題の一覧を見る
issue と入力するとCloseになっていない課題を100件まで表示します。
次の100件を見る機能はそんなに重要じゃなかったのでまだ作っていません。
> issue
XXXX-8369 This is the issue title
XXXX-8368 This is the issue title
XXXX-8367 This is the issue title
XXXX-8366 This is the issue title
XXXX-8365 This is the issue title
XXXX-8364 This is the issue title
課題の内容を見る
これが今回一番使いたかった機能です。
issue 9999
のように 課題 の番号を入力するか、
issue XXXX-9999
のようにキーを入力すると 課題の内容が表示されます。
> issue 9999
Issue title
(no detail)
Creator: Kenji Otsuka (大塚健司) (kok.fdcm@gmail.com)
Assignee: Kenji Otsuka (大塚健司) (kok.fdcm@gmail.com)
Due Date: (none)
タイトル、内容、作成者、担当者、期日を表示します。
まだコメント表示はできていません。
Repository を設定する
set repo XXXXX
とすることで リポジトリを設定できます。
これにより、リポジトリに関する操作ができるようになります。
> set repo sample
The repository is set to sample.
Pull Request の一覧を見る
pr
と入力すると リポジトリのPRを一覧で表示します。
> pr
1015 [WIP]XXXXXXX
1157 XXXXXXX
1205 [WIP]XXXXXXX
1437 YYYYYYYYYY
1489 [WIP] XXXXXX
1537 [WIP] XXXXXX
番号とタイトルを表示します。
Pull Request の詳細を見る
pr 1234
と入力すると Pull Request の詳細が表示されます。
> pr 3230
Pull Request Title
(no description)
feature/Sample -> develop
Pull Request のタイトル、内容、ブランチが表示されます。
ここでもコメント表示機能は未作成です。
Repository
技術要素
- 設定ファイルはJSONで保存
- Backlogとの連携は公式ライブラリ
- 細かいパラメータを実装するときはこれがきっと役に立つと思って依存関係に追加した(まだ使ってない)
その他
- GitHub にリポジトリがあれば Homebrew でインストールできたりするらしいので余裕があればそちらも進めていきたい。
- 別のプロジェクトで作っていたコードをコピーしてきた経緯があるので、使っていないコードがたくさんある。 毎回インスタンス作る部分などあるしクラス設計も雑。効率化できるところはたくさんある。
- 似たツールに gitb というのがあって、 コマンドラインで Backlog の URL を作れるんだけど求めていたのとは違った。
- コマンドラインでIssueも作成できたら楽。
- git を使っている場合にその情報からプロジェクトの内容など取得できるとよいですね。