いろいろな案件が並行していると、issue管理される場所もこちらの管轄だけじゃないところになるので、それを出来るだけまとめて見れるようにして見落としを減らしたいなぁと思っている。
身近なところだと GitHub と Backlog で管理してる物が多いから、どっちかによせたいところ。
一旦は GitHub に集約して、 GitHub Project でとりあえず集約出来るようにしておけばいいかなぁということでその方向で考えてみた。
どちらもAPIがあるから作ってもらえそうだけど、これによるメリットがある人もすくないから時間に余裕があるときに色々な手順を試したりはしていた。
今回は ChatGPT と会話しながら作ってみようという方向で始めてみた。
- Backlog とか元の方で issue がクローズされたら GitHub 側もクローズするとかでもいいけどその辺のメンテナンスは一旦手動でやる
- 担当となっている未クローズの issue を連携する
一度Backlogから GitHub に登録された issue は再度登録する必要はないので登録したかどうか?の情報をどう持たせるか?都度調べて判定するか?とか考えつつ。
登録した情報をどこかに置いておくことにした。
Cloudflare の KV あたりがいいのかなぁ、とか思ったりしたが。。
Spreadsheetに持たせておいて、そこに必要そうな定義情報とか、BacklogとGitHubのユーザのマッピングも持たせておけば良さそうだなぁということで、そういう方向で試してみることに。
普段あまり触っていない GAS を使う感じになったので、 ChatGPT と会話しながら作ってみた。
- Spreadsheet に設定ファイルを書くシートを用意する
- 設定ファイルの情報を元に Backlog からissueをとってきてissue list 用のシートに書き込んでいく
- 既に登録済みの issue は追記しないようにする
- シートに追記された際に GitHub に issue を登録して、その際に Assign も設定する
このくらいを ChatGPT とやりとりしてコードを書いてもらってあれこれ試してひとまず動いた。
issue を追加した時に GitHub Project に追加するっていうのもやりたかったが、その辺は GitHub 側の mutation のところがかわってるみたいだから、とりあえず GitHub Actions 側での処理を流用するようにした。
とりあえず動いていそうなのでしばらく様子見。
GitHub へのmutation の上限が20件だったっけな、くらい。
ドキュメント見ておこう。
ChatGPT を全然つかいこなせていないからもう少し触っていかないとだなぁ。。。
翻訳くらいしかお願いしてなかった。
こういうツールをつかうにもちゃんと伝える言語化が大事〜、みたいな事が言われているのを見たが、確かに自分がやりたいことをわかるように伝えるってのは大事だなぁと思った。
全然うまく伝えられていない。
普段の仕事だとよしなに理解してくれたり、フォローしてもらってるところをちゃんと整理しないことには動いてくれないし。
何かエラーがあったときはそのことを伝えればデバッグ手順も書いてくれるからそれを使いながら、なるほどー、と勉強させてもらいつつ。
怪しいところとかはプログラミング全然知らないと難しい所もあるんだろうなぁ、、、、とは思った。
内部用のだからいいけど。
なんとなく Cloudflare のサービスでやってみようとかおもって考え始めたりしたけど、そういうのから会話してみるのもいいのかもなぁ。
いい勉強になった。