Gradle Updateをカイゼンした
Gradle Wrapperを自動更新してくれるサービス Gradle Update を公開してから積み残しがいくつかあったので改善しました。
Done
- README
- Gradle Update Badge
- リポジトリのREADMEに貼っておけば、Gradle Wrapperが最新版であるかチェックできます。
- こんな感じです:
- README.mdにはこれを追記で:
[![Gradle Status](https://gradleupdate.appspot.com/USER/REPO/status.svg?branch=master)](https://gradleupdate.appspot.com/USER/REPO/status)
- Gradle Updateにスターを付けていなくても使えます!
- GitHub User Content対応
- ページング対応
- Webhookの署名検証
- 誰でもWebhookを叩ける状態になっていたのですぐに直しました。
- RESTライブラリの移行
- これまで
groovyx.net.http.HTTPBuilder
を使っていましたが、以下のバグに悩まされていました。- 204 No Contentを受け取るとNPEが発生する
- JSONをPOSTするにはなぜかbodyを入れ子の配列にする必要がある(
body: object
ではダメでbody: [object, null]
ならOK)
- groovy-wslite に移行しました。HTTPBuilder とほとんど同じAPIなので簡単に移行できました。割と使いやすそう。
- これまで
- HEAD対応
- SlackbotがHEADリクエストを投げてきて404になっていたので直しました。
- ロギング
- バッチ主体のシステムは異常系の処理を追うのが大変なので、なるべく多くの情報を出すようにしています。
- 即時対処が必要なものは severe、怪しいものは warning とかしてます。
- バグがあると severe が出まくるのでやばい。
- テストコード
To Do
- Forkしたリポジトリは更新の対象外にしてもよさそう。
- Landing Page
- User Page
- タスクが冪等になってるか再チェック