backlog-github-integration-action を作った
0時に寝て7時に起きた。丸一日開発していた。構想1ヶ月、実装2日といったところか。
backlog と github のインテグレーション action⌗
お手伝い先が backlog を課題管理システムとして使っている。backlog は git 連携 の機能をもっているが、これは nulab 社のクラウド上に git リポジトリを構築したものと連携する機能であって、github と連携する機能ではない。そこで github と backlog と連携するためのカスタム github action を作った。
カスタム github action を java で開発するのは普通にはやらないと思うが、いくつか理由があってお手伝い先が java しかできないというのと、nulab 社が提供している公式クライアント nulab/backlog4j が java しかないから。最初は go で実装しようと思って go のクライアントを試したんだけど、サンプルコードをかいたら一部の処理でエラーになって、そのエラーがよくわからなくてやる気がなくなってしまった。最新の rest api の仕様にそってメンテナンスされていないのかな?と思って、やっぱり公式クライアントしかないなと。他にも次のライブラリを使っている。
- 設定ファイル: https://github.com/lightbend/config
- コマンドライン解析: https://github.com/remkop/picocli
- github クライアント: https://github.com/hub4j/github-api
これまでは commons-cli を使ってきたけど、サブコマンドの機能を提供していない。もうメンテされてないかも?サブコマンドの機能をもつ argument parser がほしくて picocli を選択した。初めて使っていて、実装してみたらわりと私の好みでよく出来ていると思う。今後は cli ライブラリとして picocli を使っていこうと思う。
Read other posts