scalaでbacklogの通知bot作ったで
TRANSCRIPT
自己紹介
Abe Asami “きの子 ” (大阪のフリーランスプログラマ)
http://nocono.net/@aa7thScala、Andorid(Java/Kotlin) Scala関西やってます
PlayFramework翻訳 少しお手伝いしています
• 私は最近サボり気味ですが・・・
• Gitterチャンネル
• https://gitter.im/playframework-ja/translation-project
今日の内容
• Scala関西SummitのタスクはBacklogで管理しています。
• Backlogの更新をSlackへ通知するbotをScalaでつくってAWS Lambdaで動かしているので、その紹介をします。
AWS Lambda採用の経緯
• 去年はHeroku+hubotで通知botを作っていたけど、フリープランが24時間うごかなくなった。
• 「AWS LambdaいいよLambda!Lambdaでやりなよ!」って知人にいわれた。
• よーし!せっかくだしScalaで作ってLambdaで動かしてやんよ!
AWS Lambda + Gateway準備
• 詳細は省略
• Slackの Incoming Webhooks は application/x-www-form-urlencoded なので、扱いやすいようにGatewayのMapping Templates にJsonに変換するスクリプトを書いた。
Scalaプロジェクト作成
• 素のSBTプロジェクトから、がりがり作りました。 (activator new)
• 参考
• Writing AWS Lambda Functions in Scala | AWS Compute Blog https://aws.amazon.com/jp/blogs/compute/writing-aws-lambda-functions-in-scala/
jarを作成してアップロード
• sbt-assemblyを使用してjarファイル作成
• https://github.com/sbt/sbt-assembly
• AWS Lambdaにアップロード
• AWS CLIを使うとお手軽