Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Slack New Platformで作ったBotについて @yabaibuki.dev #2
Search
Ryo Imai
September 29, 2024
Programming
0
90
Slack New Platformで作ったBotについて @yabaibuki.dev #2
https://livesense.connpass.com/event/328856/
Ryo Imai
September 29, 2024
Tweet
Share
More Decks by Ryo Imai
See All by Ryo Imai
サクッと作るText-to-SQLツールの試み
ryo_imai_bit
0
25
Rails・Rubyバージョンアップをあたりまえにできる運用整備とちょっとAI
ryo_imai_bit
0
13
Other Decks in Programming
See All in Programming
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
2k
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
130
チームをチームにするEM
hitode909
0
430
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.5k
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
750
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
210
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
920
Basic Architectures
denyspoltorak
0
160
gunshi
kazupon
1
140
Deno Tunnel を使ってみた話
kamekyame
0
310
Go コードベースの構成と AI コンテキスト定義
andpad
0
150
ゆくKotlin くるRust
exoego
1
190
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
5.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
72
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
180
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
41
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
330
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
Code Reviewing Like a Champion
maltzj
527
40k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Transcript
Slack New Platformで 作ったBotについて 2024/09/26 令和最新版 他⼈に⾃慢したいヤバいCI/CD LT会 @ yabaibuki.dev
#2 アルバイト事業部 今井怜 Copyright © Livesense Inc.
0 1 2 3 4 ⾃⼰紹介 Botとデプロイフロー Slack New Platform
実装 ふりかえりと今後 Copyright © Livesense Inc.
⾃⼰紹介 SECTION 0 Copyright © Livesense Inc.
None
0. 自己紹介 • 株式会社リブセンス アルバイト事業部 • マッハバイトのバックエンドエンジニア • 普段はRailsを書いています • 直近はモバイルアプリにも携わっています
• https://github.com/ryo-imai-bit 今井 怜 Copyright © Livesense Inc.
Botとデプロイフロー SECTION 1 Copyright © Livesense Inc.
• Pull Requestの承認をもらう • Staging環境上で動作確認を他エンジニアにやってもらう ◦ Staging環境にデプロイ(タグPush) ◦ 動作確認を依頼するエンジニアを選定 ⬅ ここでBotを使う ◦
Slack上で確認依頼 • 事業部全体への周知とリリース マッハバイトのデプロイ作業フロー 1. Botとデプロイフロー Copyright © Livesense Inc.
• 登録されたユーザーから⼀⼈をランダムに選出する • LambdaにJavaScriptのコードでデプロイ、ホスティング • すごくシンプルな実装 ◦ お休みの⼈がメンションされたり ◦ MTG中とわかっていてもユーザーがメンションされてしまう
SushiBot 1. Botとデプロイフロー Copyright © Livesense Inc.
• 登録されたユーザーから⼀⼈をランダムに選出する • Slack New Platformでホスティング • 追加機能 ◦ ユーザーのフィルタリング機能を追加
▪ ⼊⼒⽂字列をベースに、ユーザーを除外 ◦ 登録ユーザーをDatastoreに⼊れる ▪ ユーザーごとに定常的な休⽇を登録可能に SushiBot 1. Botとデプロイフロー Copyright © Livesense Inc.
Slack New Platform SECTION 2 Copyright © Livesense Inc.
• 2023年4⽉からGAリリース ◦ ベータじゃなくなりました • 機能⾯ ◦ Slack Host ▪
Denoの環境が⽤意され、Deno Slack SDKで書ける ◦ Self Host ▪ Bolt SDKで、JavaScript‧Pythonで書ける 概要 2. Slack New Platform Copyright © Livesense Inc.
• 変更点 ◦ 新しいモジュラーアーキテクチャ ▪ Triggers、WorkFlows、Functions、Datastores ▪ Slack側で抽象化された単位で書ける ◦ 開発体験の向上
◦ セキュアなデプロイ‧データストレージ‧認証 ◦ 柔軟なユーザー体験 ▪ 機能提供できる場所がCanvasなど広がった 概要 2. Slack New Platform Copyright © Livesense Inc.
実装 SECTION 3 Copyright © Livesense Inc.
• Event Triggers ◦ 今回はこれ ◦ アプリのメンションで発⽕させている ◦ 他にも⾊々 •
Link Triggers ◦ リンクをSlack上に貼るとボタンが表⽰され動作が⾏える • Schedule Triggers • Webhook Triggers Triggers 3. 実装 Copyright © Livesense Inc.
• Functionsでフィルターする処理を実装 • メンション時の⼊⼒を利⽤ ユーザーのフィルタリング 3. 実装 Copyright © Livesense
Inc.
• Datastoresにユーザー情報を登録している • 裏側はDynamoDB • Slack提供の型定義を利⽤して、データ定義 ユーザー情報の登録 3. 実装 Copyright
© Livesense Inc.
• ⾮稼働⽇に⾃動でメンション対象から除外 ◦ メンバーによっては⾮稼働⽇が決まっていたりする ◦ Datastoresへのクエリでフィルタ ▪ DynamoDBのFilter expressions Syntaxが使える
Datastoresとフィルター処理 3. 実装 Copyright © Livesense Inc.
3. 実装 Copyright © Livesense Inc.
ふりかえりと今後 SECTION 4 Copyright © Livesense Inc.
• 開発体験の良さ ◦ デバッグが容易 ▪ Slack CLI経由でローカルアプリのデプロイが可能 ◦ 抽象化とTypeScriptの型チェックで⾒通しが⽴ちやすい •
デプロイの容易さ ◦ CLI⼀発で完結 ◦ datastoreもオールインワンで提供される • 柔軟性 ◦ Link Triggerのポータビリティ ◦ CanvasなどLinkが貼れるとこならどこでも使える ふりかえり 4. ふりかえりと今後 Copyright © Livesense Inc.
• デプロイフローのワークフロー化 ◦ 今回のBotは、ランダムアサインのみだが ◦ 本来的には、⼈がやらなくて良いところが⼀連でできると良い • リーチ ◦ 弊社は他業種も含めSlack上で業務上のコミュニケーション
◦ 社内業務フローをWorkflow Builderと組み合わせる ▪ Slack New Platformの柔軟性 ▪ Workflow Builderでカスタマイズしながら発⽕できる 今後のリーチ 4. ふりかえりと今後 Copyright © Livesense Inc.
None
None