Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Slack New Platformで作ったBotについて @yabaibuki.dev #2
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ryo Imai
September 29, 2024
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slack New Platformで作ったBotについて @yabaibuki.dev #2
https://livesense.connpass.com/event/328856/
Ryo Imai
September 29, 2024
More Decks by Ryo Imai
See All by Ryo Imai
サクッと作るText-to-SQLツールの試み
ryo_imai_bit
0
54
Rails・Rubyバージョンアップをあたりまえにできる運用整備とちょっとAI
ryo_imai_bit
0
39
Other Decks in Programming
See All in Programming
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
260
カツオ、ご期待ください
suneo3476
0
190
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
510
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
390
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
620
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.1k
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2.3k
Jetpack Compose Mechanisms
skydoves
3
820
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
23k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
570
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Crafting Experiences
bethany
1
380
Claude Code のすすめ
schroneko
67
230k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
570
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
270
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
The World Runs on Bad Software
bkeepers
PRO
72
12k
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