kmuto’s blog

はてな社でMackerel CREをやっています。料理と旅行といろんなIT技術

MackerelからのWebhookを任意に処理するやつ+Google Chat通知をNode.jsに移植した

先日はMackerel Webhookを処理するライブラリをGoogle Chat通知の実装例込みでRuby版で作っていた。

kmuto.hatenablog.com

しかし、今日びRubyだとあまりありがたがられなくなってしまっているので、TypeScriptで書いたnpmも作ることにした。Ruby実装をそのままコピーしてるのでアレなところはあるけど、ひとまず動くものはできて @kmuto/saba-webhook-gateway npmとしてアップロードしておいた。

github.com

www.npmjs.com

Rubyと比較すると、ピリオドで階層をどんどん掘っていけるのは書きやすい。値がないときに空文字ではなくundefinedになるところは処理が追加で必要になった。package.jsonに含まれてしまうと厄介なので、スタンドアロン動作のものは書いていない。

any連発で全然TypeScriptしとらんやんけなとおり、ここからType化しようとするといよいよMackerel Webhook JSONの深淵に踏み込むことになり、若干二の足を踏むところがある……。とはいえ、Typeをちゃんと書くのはエラーを防止するためにも重要なのだろうから、いずれやらんとね。

Lambda動作など試しきれていないところがいっぱいあるので、PR等歓迎デス。