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-Ops始めました 初心者向け "slack-notifier" の基本
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
strviola
January 15, 2020
Programming
82
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slack-Ops始めました 初心者向け "slack-notifier" の基本
strviola
January 15, 2020
More Decks by strviola
See All by strviola
安定したFeature Specを助ける3つの処方箋
strviola
0
1.2k
「確認画面」ベストプラクティス
strviola
0
550
Other Decks in Programming
See All in Programming
Lessons from Spec-Driven Development
simas
PRO
0
210
The NotImplementedError Problem in Ruby
koic
1
820
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
270
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
120
Inside Stream API
skrb
1
730
RTSPクライアントを自作してみた話
simotin13
0
610
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
110
dRuby over BLE
makicamel
2
380
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
130
Oxlintのカスタムルールの現況
syumai
6
1.1k
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
250
Claspは野良GASの夢をみるか
takter00
0
200
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
260
The browser strikes back
jonoalderson
0
1.3k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
210
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
Information Architects: The Missing Link in Design Systems
soysaucechin
0
970
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
170
Scaling GitHub
holman
464
140k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
330
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
It's Worth the Effort
3n
188
29k
Transcript
4MBDL0QT͡Ί·ͨ͠ ॳ৺ऀ͚TMBDLOPUJpFSͷجຊ ϦϯΧʔζגࣜձࣾླཽଠ
ຊͷ࣍ TMBDLOPUJpFSHFNͷհ ॳظઃఆ "1*ͷհ 4MBDL0QTͷ͋Δࣄ
·ͱΊͱࠓޙͷ՝
TMBDLOPUJpFSHFNͷհ w IUUQTHJUIVCDPNTUFWFOPTMPBOTMBDLOPUJpFS w ཁ͢Δʹ)BTIΛ+40/ʹͯ͠)5511045ͯ͘͠ΕΔ # Gemfile gem 'slack-notifier' #
test.rb require 'slack-notifier' notifier = Slack::Notifier.new('WEBHOOK_URL') notifier.ping 'Hello World' # POST https://hooks.slack.com/services/... # Content-type: application/json # { "text": "Hello World" }
ॳظઃఆ w 8FCIPPL63-ͷऔಘ w IUUQTTMBDLDPNBQQT"'9%6";JODPNJOHXFCIPPLTʹΞΫηε w ϫʔΫεϖʔεɺߘઌνϟϯωϧͳͲઃఆ w 63-ઃఆը໘͔Β͍ͭͰ֬ೝߋ৽Մೳ
ॳظઃఆ w 8FCIPPL63-ͷอଘ w DPOpHTFDSFUTZNMFOD͕ແ w ڞ௨Ϋϥε͔Βݺͼग़͠ ฐࣾ"QQMJDBUJPO3FDPSE
w BUUBDINFOUT"1*ʹ͢+40/ # app/models/application_record.rb def slack_webhook_url Rails.application.secrets.slack_webhook_url end def slack_post!(attachments:, webhook_url: slack_webhook_url, username: 'LFB bot') return if webhook_url.blank? notifier = Slack::Notifier.new(webhook_url, username: username) notifier.post attachments: attachments end
"1*ͷհ color pretext title title_link fields[0] fields[1] footer title
title value value
"1*ͷհ # app/models/contact.rb def slack_notify!(host, title: '͓٬༷͔Β͍߹Θ͕ͤ͋Γ·ͨ͠ɻ') url_helper =
Rails.application.routes.url_helpers attachment = { color: '#1155A7', pretext: '<!channel>', title: title, title_link: url_helper.system_managers_contact_url(self, host: host), fields: [ { title: 'ۜߦ໊', value: Bank.current.name }, { title: '͓٬༷ࢯ໊', value: "#{user.name}༷" } ], footer: "#{Rails.env} environment" } slack_post! attachments: [attachment] end
·ͱΊ w TMBDLOPUJpFSHFNͷհ w 8FCIPPL63-ͷऔಘํ๏ w "1*ͷհ w ࠓޙͷ՝ w
ϋοϐʔʹͳΕΔ4MBDL0QT ͍߹ΘͤରԠ͚ͩͩͱؾ͕໓ೖΔ 4MBDLಋೖΰʔϧ͡Όͳ͍ɺελʔτͩ