Slide 1

Slide 1 text

Nago Asato ෼ใͷ5- CPMUͰͭͬͯ͘ΈͨΜ͝

Slide 2

Slide 2 text

me גࣜձࣾλϯόϦϯ Ϋϥ΢υɾσϕϩούʔ SalesforceͷόοΫΤϯυ։ൃʢAPEXʣ Laravel΍NodeɺTypeScriptͰ৭ʑ΍ͬͨΓ ΩʔϘʔυ഑ྻ͸USʢHHKBʣ ͦͯ͠ΏΔ;ΘVimmer

Slide 3

Slide 3 text

෼ใ ࢖ͬͯ·͔͢ʁ

Slide 4

Slide 4 text

෼ใͱ͸ suin͞Μ, ͹Μ͘͠͞Μ ᐌ͘ ෼ใ a.k.a.ʮtimes_*, r_*,ʯ ͱ͸ɺࣾ಺νϟοτ౳Ͱࣗ෼ͷνϟ ϯωϧΛ࣋ͪɺ୹͍εύϯͰൃݴ ͢Δࣾ಺TwitterͷΑ͏ͳจԽܗଶ

Slide 5

Slide 5 text

ϝϦοτ ɾ৺ཧతͳؾܰ͞ ɾٕज़తͳϨϕϧ͕ࠩߟྀ͞Ε΍͍͢ ɾ೔Ұճͷ೔ใʹൺֱ͢Ε͹෼୯ҐͰࠁΊΔϦΞϧλΠϜੑ ɾ҉໧஌ΛಘΔ͖͔͚ͬʹͳΓ΍͍͢ ɾίϛϡχέʔγϣϯɾΤϯήʔδϝϯτ

Slide 6

Slide 6 text

σϝϦοτ ɾҪށ୺ձٞ ɾਓ਺ʹରͯ͠εέʔϧ͠ͳ͍ ɾঝೝཉٻΛܹࢗ͢Δ

Slide 7

Slide 7 text

ͱ͍͏͜ͱ͸

Slide 8

Slide 8 text

TL࡞Ε͹ղܾ͢ΔͷͰ͸

Slide 9

Slide 9 text

ͱ͍͏Θ͚Ͱ࡞ͬͯΈͨ

Slide 10

Slide 10 text

։ൃ؀ڥ • Node JS 11x • Slack Bolt Framework • PaaS͸Heroku

Slide 11

Slide 11 text

Bolt ⚡ͱ͸ • Bolt ͸ Slack API Λ࢖͍΍͘͢͢ΔͨΊͷ Node.js ϑ ϨʔϜϫʔΫͰ͢ɻ Ұ͔Β API Λ࢖ͬͯΞϓϦΛ։ൃͯ͠ ͍͘͜ͱͱൺ΂Δͱɺ͜ͷϑϨʔϜϫʔΫΛ࢖͏ͱ΋ͬͱ αΫͬͱ࡞͍ͬͯ͘͜ͱ͕Ͱ͖Δͱࢥ͍·͢ɻ @girlie_mac ͞ΜͷQiitaهࣄΑΓҾ༻

Slide 12

Slide 12 text

slackAppͭ͘Δ

Slide 13

Slide 13 text

TMBDLBQJαΠτ΁ ΞϓϦ࡞Δ࣌͸ IUUQTBQJTMBDLDPNBQQT #PMUͷνϡʔτϦΞϧ IUUQTTMBDLEFWCPMUKBKQUVUPSJBMHFUUJOH TUBSUFE

Slide 14

Slide 14 text

ϩʔΧϧ։ൃ

Slide 15

Slide 15 text

• yarn͔npmͰ @slack/bolt ೖΕΔ • ϩʔΧϧ։ൃ͸ ngrokΛ࢖͏ • slackAppͷϦΫΤετURLʹngrokͷ΍ͭΛ࿈ܞ

Slide 16

Slide 16 text

࣮ࡍͷίʔυ

Slide 17

Slide 17 text

channelsͷܕ

Slide 18

Slide 18 text

infoͷܕ

Slide 19

Slide 19 text

͕͍͍͜͜Α bolt͞Μ • Slack api ͕RequestURL΍Payload͝ʹΐ͝ʹΐ͠ͳͯ͘ ΋؆୯ʹ࢖͑Δʂ • api ͷܕ৘ใ͕ḷΕ͹Θ͔Δʢৄࡉ͸υΩϡϝϯτͰʣ • ϩʔΧϧ։ൃ͕݁ߏ͸͔ͲΔ

Slide 20

Slide 20 text

attachment ? block ? • Slack apiͷattachmentʹ୅ΘΔ΍ͭ • attachmentͷෳࡶͳ࢓༷Λγϯϓϧʹͨ͠΋ͷ • attachmentΑΓRichͳΠϯλʔϑΣʔεΛ࣮૷Ͱ͖Δ • Block kit builder (GUI) ͰI/FΛ֬ೝ͠ͳ͕ΒJSON֬ೝ

Slide 21

Slide 21 text

Block kit Builder

Slide 22

Slide 22 text

ؾʹͳΔͱ͜ • Slack ެࣜAPIͱ͸ผʹbolt clientͰAPI࢖͏ࡍʹdocཉ͍͠ • Block kit ͰͰ͖Δ͜ͱͱattachmentͰͰ͖Δ͜ͱ͕෼͔Γ ͮΒ͍

Slide 23

Slide 23 text

Ͱ͖ͨ΋ͷ

Slide 24

Slide 24 text

·ͱΊ ɾ#PMU͸ָ͍͠ ɾ#MPDL,JU͍͍Ͷ ɾϩʔΧϧ։ൃָ͕ ɾίʔϙϨʔτΤϯδχΞϦϯάָ͍͠ ɾ5-ͷݟա͗͸ې෺ɺϑϧεϥοΫΤϯδχΞͳͬͯ·͏

Slide 25

Slide 25 text

Links UJNFMJOFSฐࣾͰೖΕͯΔ4MBDL"QQ IUUQTHJUIVCDPNOBTBUUJNFMJOFS TMBDLCPMUGSBNFXPSL IUUQTHJUIVCDPNTMBDLBQJCPMU TMBDLCMPDLLJUνϡʔτϦΞϧ IUUQTBQJTMBDLDPNMBOHKBKQTMBTICMPDLLJU TVJO͞Μͷ෼ใͱ͸ IUUQDFDPN ͹Μ͘͠͞Μͷ෼ใͷޮೳ·ͱΊ IUUQTOPUFDPNWBBBBBORVJTIOODDDGF

Slide 26

Slide 26 text

͋Γ͕ͱ͏͍͟͝·ͨ͠