Issue を立てよう。~ Shopify アプリを app cli で初めて作ったときに立てた Issue を振り返る~
ShopifyShopify-app-cliGithub
こんにちは。今は2021年8月も終わろうとしていますが、去年の今頃、社内で Shopify アプリを作るプロジェクトを行っていて開発をしていました。
公開したのが9月だったので、ちょうど1年経つということもあり、また、1年に渡りメインで開発をしていましたが、転職に伴いメインエンジニアをやめることとなったので、何回かに分けて苦労した話とか Tips なんかを共有できたらいいな〜と思っています。
どっちかっていうとすぐ役に立つコードの共有というよりは、開発のときどう考えて何をしたかということを忘れないように書き留めておくメモのような感じです。
Shopify App CLI を使った
Shopify アプリを開発するとうことで、3人のチームを結成しましたが、我々は全員フロントエンドの知識しかなかったため、Shopify 公式が出しているアプリ作成テンプレートの Shopify cli for app を使って Node.js 製のアプリを作ることにしました。
Shopify App CLI はすごいスピードでアップデートされている
よくあることですが。開発を始めたときのバージョンはまだ 0系 だったですが、1系を経て、今は 2系になっていますね。1年間で。
アプデされること自体はいいのですが、開発メンバーが増えるタイミングで CLI が動かない、うまくいかないというトラブルがあったり、バージョンアップの度に何らかしらの問題が起こっていました。
Issue を立てよう
開発中に私が立てた Issue は以下でした。
- new shopify cli 1.0.0 installed but got error #740
- Error when connect first time : fetch_with_app': undefined method []' for nil:NilClass (NoMethodError) #763
- Shopify connect doesn't show all of my partner organization #1190
- ngrok tunnel could not be stopped. Try running killall -9 ngrok #1426
うち2つは自力で解決して、2つは解消してもらいました。
実は、エンジニアになってから3年目だったのですが、こういう公式のリポジトリに Issue を立てたのは初めてだったんですよね。(#740のやつ)
それに対して複数の人が同様のエラーを報告して、バグを直してもらったのでとても嬉しかったとこを覚えています😊
Issue を立てる前に
Issue が乱立してしまうと本当にもとめている解決策や解消の妨げになることもありますので、すぐに Issue を立てるのではなく、そこそこドキュメントを読んで、コミュニティで同様の質問がないか調べ(もちろん Issue でも同様の質問がないか探します。Closed された Issue もよく探してみます)、試行錯誤し、それでも解決しなかったら立てるようにしています。
とはいえ、あなたが Issue を立てることで、すぐに解決したり、よりよい解消に向かう可能性が高いので、どんどん Issue を活用していきたいなと思います。\
Issue タイトルをわかりやすく書く
多くの場合、よくある Issue テンプレートに沿って、起こっている問題・期待される状態・自分の使っている環境の提示などをしますが、タイトルを如何にわかりやすく書くかでいつも悩んでしまいます。
Issue タイトルには、何が・いつ・どうなっているのかを書いて問題を明確にするべきです。
- 悪い例
- ooがエラーで動かない
- ooが止まる
- ooを改善する
- 良い例
- xxの時にooコマンドを打つとooエラーが出る
- vxにバージョンアップしたらooが表示されなくなった
- xxのときにooになる不具合がある
などが良いのかなと思います。
これは英語でオープンソースのリポジトリに対して Issue を立てるときだけではなく、普段の業務で自分のリポジトリに Issue を立てる時にも意識したいですね。
最後に
Shopify は開発がまさに進行している!というサービスなので、こうやって不具合が結構起こるのですが、それを差し引いても進んでいるという感じがして開発するのはとても楽しかったです。英語のドキュメントを真面目に読んだり、Issue を立てたりすることで、ほんのすこし英語力もあがった気がします👩
今後は会社でも Shopify アプリに関わりますが、個人でも小さいアプリを開発運用していこうと計画しているので、はやいとこ真面目に着手しようと思います。このブログは読んでいる人いない気がしますが、また情報共有していこうかな。