Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ScalaでBacklogの通知bot作ったで

790 views

Published on

2016/05/28 Scala福岡 LT資料です。

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

ScalaでBacklogの通知bot作ったで

  1. 1. ScalaでBacklogの 通知bot作ったで Abe Asami
  2. 2. 自己紹介 Abe Asami “きの子 ” 
 (大阪のフリーランスプログラマ) http://nocono.net/ @aa7th Scala、Andorid(Java/Kotlin) 
 Scala関西やってます
  3. 3. • 2016/10/8 (土) 大阪産業創造館 にて開催! http://summit.scala-kansai.org
  4. 4. PlayFramework翻訳 少しお手伝いしています • 私は最近サボり気味ですが・・・ • Gitterチャンネル • https://gitter.im/playframework-ja/ translation-project
  5. 5. 今日の内容 • Scala関西SummitのタスクはBacklogで管理
 しています。 • Backlogの更新をSlackへ通知するbotをScala でつくってAWS Lambdaで動かしているので、 その紹介をします。
  6. 6. AWS Lambda採用の経緯 • 去年はHeroku+hubotで通知botを作っていた けど、フリープランが24時間うごかなくなっ た。 • 「AWS LambdaいいよLambda!Lambdaでや りなよ!」って知人にいわれた。 • よーし!せっかくだしScalaで作ってLambdaで
 動かしてやんよ!
  7. 7. 構成
  8. 8. 準備
  9. 9. AWS Lambda + Gateway準備 • 詳細は省略 • Slackの Incoming Webhooks は application/x-www-form-urlencoded なの で、扱いやすいようにGatewayのMapping Templates にJsonに変換するスクリプトを 書いた。
  10. 10. Slack Incoming Webhooks
  11. 11. 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/
  12. 12. 実際のコード
  13. 13. テスト
  14. 14. BacklogのWebhookテスト • Backlogの プロジェクト設定 → Webhookで テスト送信できる
  15. 15. 実際のWebhook送信履歴
  16. 16. 取得したJSONを使ってテスト 作成
  17. 17. デプロイ
  18. 18. jarを作成してアップロード • sbt-assemblyを使用してjarファイル作成 • https://github.com/sbt/sbt-assembly • AWS Lambdaにアップロード • AWS CLIを使うとお手軽
  19. 19. 実際の画面
  20. 20. 完成!
  21. 21. まとめ • Botを作るときは是非 AWS Lambda + Scala かGASで!
  22. 22. ご静聴ありがとう ございました 10/8 Scala関西Summit ぜひ来てね!/

×