Movatterモバイル変換


[0]ホーム

URL:


$30 off During Our Annual Pro Sale. View Details »
Speaker DeckSpeaker Deck
Speaker Deck

APIを利用して、生産性を生み出す技術

Avatar for Kazuhiko Yamashita Kazuhiko Yamashita
April 16, 2018

 APIを利用して、生産性を生み出す技術

話手の所属するGMOペパボはコミュニケーションツールはSlack、業務やソースコードの管理をエンジニア〜バックオフィス職種問わず、すべてGithub Enterprise(GHE)で行っています。そんなGMOペパボにおけるAPIを利用した業務Hackやチーム開発のノウハウを紹介し、半分くらいは僕の半生についてお話します。

Avatar for Kazuhiko Yamashita

Kazuhiko Yamashita

April 16, 2018
Tweet

More Decks by Kazuhiko Yamashita

See All by Kazuhiko Yamashita

Other Decks in Programming

See All in Programming

Featured

See All Featured

Transcript

  1. ʙय़ͷখ઒ͷͤͤΒ͗ͱɺγΣϑͷؾ·͙ΕιʔεΛఴ͑ͯʙ !QZBNB(.01FQBCP *OD (FFLT8IP%SJOL1VCMJD"1*&EJUJPO "1*Λར༻ͯ͠ ੜ࢈ੑΛੜΈग़ٕ͢ज़

  2. ϗεςΟϯάࣄۀ෦νʔϑςΫχΧϧϦʔυ  ࢁԼ࿨඙!QZBNB

  3. ϖύϘ෱Ԭ

  4. ੜ࢈ੑ

  5. ੜ࢈ੑʹόϦϡʔ͔͚ͨ࣌ؒ

  6. QZBNBͷҰ೔ ಡॻ044 ձ৯ 5XJUUFS ίʔυॻ͘ 5XJUUFS .5( ϥϯν 4MBDLϨϏϡʔ ελʔόοΫεͰ5XJUUFS

    δϣΪϯά ਭ຾ ਭ຾ δϣΪϯά ελʔόοΫεͰ5XJUUFS 4MBDLϨϏϡʔ ϥϯν .5( 5XJUUFS ίʔυॻ͘ 5XJUUFS ձ৯ ಡॻ044
  7. QZBNBͷҰ೔ ಡॻ044 ձ৯ 5XJUUFS ίʔυॻ͘ 5XJUUFS .5( ϥϯν 4MBDLϨϏϡʔ ελʔόοΫεͰ5XJUUFS

    δϣΪϯά ਭ຾ ਭ຾ δϣΪϯά ελʔόοΫεͰ5XJUUFS 4MBDLϨϏϡʔ ϥϯν .5( 5XJUUFS ίʔυॻ͘ 5XJUUFS ձ৯ ಡॻ044
  8. ੜ࢈ੑΛ্͛ΔͨΊʹɺࠓ೔࿩͢͜ͱ w(JUIVC"1*ͷ͋Ε w4MBDL"1*ͷ͋Ε w๻ͷ༮গظͷՄѪ͔ͬͨ͜Ζ࿩

  9. ιʔεϨϏϡʔΛఆظԽ͢Δ DPEFS SFWJFXFS SFWJFXFS 1VMM3FRVFTU -(5. .BZUIF'PSDFCFXJUIZPV QSPEVDUJPO 3FMFBTF ϖύϘͷϦϦʔεϑϩʔ

  10. ϨϏϡʔґཔ͸ׂΓࠐΈͰ͋Δ wϑϩʔঢ়ଶʹੜ࢈ੑͷߴ͍ঢ়ଶͰ͋Δ wϨϏϡʔґཔʹࣗ෼ͷҙਤ͠ͳׂ͍ΓࠐΈλεΫ

  11. ׂΓࠐΈΛܭը͞Εͨ΋ͷʹ͢Δ wνʔϜ͝ͱʹ࣌ࠁΛఆΊɺϨϏϡʔΛఆظԽ͢Δ

  12. ίʔυॻ͍ͯɺϥϕϧ͚ͭΕ͹ɺ͋ͱ͸5XJUUFS͠์୊ w ༧ΊνʔϜͰఆΊͨϥϕϧΛ΋ͱʹ w "1*Ͱݕࡧͯ͠ɺࣗಈ௨஌͢Δ

  13. 0DUPLJUͰ(JUIVC"1*Λѻ͏ repo = “example” label = “needs review” client =

    Octokit::Client.new( access_token: ENV[‘GITHUB_TOKEN'], ) issues = client.issues(repo, labels: label) w IUUQPDUPLJUHJUIVCJP
  14. (JUIVC"1*Λར༻ͨ͠ྫ wධՁࢿྉ GVSJL IUUQTHJUIVCDPNQFQBCPGVSJL Λར༻͠ɺ(JUIVC"1*Ͱ ࣮੷Λࣗಈग़ྗ w(JUIVC্ͷ׆ಈͷ਺஋Խˠੜ࢈ੑͷఆྔԽ wυΩϡϝϯτΠϝʔδͷ؅ཧ

  15. ը૾΋ࣗಈͰΞοϓϩʔυ ΩϟϓνϟऔΔ ΫϦοϓϘʔυʹ <> ը૾63- 
 ͕ຒΊࠐ·ΕΔ εΫϦʔϯγϣοτΛHJUIVCDPN΍()&Ͱ؅ཧ͢Δ IUUQTUFOTOBQPODPNBSDIJWFT ϚʔΫμ΢ϯυΩϡϝϯτͷը૾ૠೖͷखؒΛղܾ

  16. ίϛϡχέʔγϣϯ πʔϧΛ·ͱΊΔ

  17. ීஈݟΔΞϓϦέʔγϣϯ͸গͳ͍ํ͕͍͍ .VTU w4MBDLϝΠϯίϛϡχέʔγϣϯ w(JUIVCίʔυࢿ࢈΍ɺετοΫ৘ใ w5XJUUFSָ͍͠ 8BOU w (NBJMγεςϜ͔Βͷ௨஌΍ࣾ֎࿈བྷ

  18. ࣾ֎͔Βͷେࣄͳ࿈བྷ͕ϝʔϧͰདྷΔ wϏδωεʹ͓͍ͯ·ͩ·ͩϝʔϧશ੝ظʂʂʂ̍ wγεςϜϝϯςφϯεͷ࿈བྷ w0QFO44-ด࠯ͷ࿈བྷ wܾࡁαʔϏε͔Βͷ௨஌

  19. ͋Μ·εϥΠυͷॻ͔ͳ͍΄͏͕ ྑͦ͞͏ͳ࿩Λ͢Δ

  20. 1PQQFS

  21. 1PQQFSJT4ZTUFN(BUFXBZ QPQQFS (NBJM QPQ 4MBDL"1* (JUIVC"1* &YFD ຊจ΍αϒδΣΫτΛਖ਼نදݱͰ৚݅Ϛον͠ ࢦఆ͞ΕͨΞΫγϣϯΛ࣮ߦ

  22. ීஈݟΔΞϓϦέʔγϣϯ͸গͳ͍ํ͕͍͍ .VTU w4MBDLϝΠϯίϛϡχέʔγϣϯ w(JUIVCίʔυࢿ࢈΍ɺετοΫ৘ใ w5XJUUFSָ͍͠ 8BOU w (NBJMγεςϜ͔Βͷ௨஌΍ࣾ֎࿈བྷ

  23. 4MBDL

  24. αʔόҠઃۀ຿ VTFSDPOUFOUT "QBDIF)551 VTFS VTFSDPOUFOUT ౰ࣾϨϯλϧαʔόαʔϏε͓͍ͯ͸෺ཧαʔόʹ͓٬༷ͷίϯςϯπ͕഑ஔ͞Ε͓ͯΓɺ ෛՙঢ়گͳͲΛؑΈͯɺαʔόҠઃ͢Δ͜ͱ͕͋Δ Ҡઃ "QBDIF)551

  25. چདྷͷҠઃ࣌ͷϫʔΫϑϩʔ ΧελϚʔ αʔϏε ΤϯδχΞ ͓٬༷ +FOLJOT Ҡઃ೔ௐ੔

  26. چདྷͷҠઃ࣌ͷϫʔΫϑϩʔ ΧελϚʔ αʔϏε ΤϯδχΞ ͓٬༷ +FOLJOT Ҡઃ೔ௐ੔ Ҡઃ೔ճ౴

  27. چདྷͷҠઃ࣌ͷϫʔΫϑϩʔ ΧελϚʔ αʔϏε ΤϯδχΞ ͓٬༷ +FOLJOT Ҡઃ೔ௐ੔ Ҡઃ೔ճ౴ Ҡઃ೔ௐ੔

  28. چདྷͷҠઃ࣌ͷϫʔΫϑϩʔ ΧελϚʔ αʔϏε ΤϯδχΞ ͓٬༷ +FOLJOT Ҡઃ೔ௐ੔ Ҡઃ೔ճ౴ Ҡઃ೔ௐ੔ ࡞ۀ೔ճ౴

  29. چདྷͷҠઃ࣌ͷϫʔΫϑϩʔ ΧελϚʔ αʔϏε ΤϯδχΞ ͓٬༷ +FOLJOT Ҡઃ೔ௐ੔ Ҡઃ೔ճ౴ Ҡઃ೔ௐ੔ ࡞ۀ೔ճ౴

    ࡞ۀґཔ
  30. چདྷͷҠઃ࣌ͷϫʔΫϑϩʔ ΧελϚʔ αʔϏε ΤϯδχΞ ͓٬༷ +FOLJOT Ҡઃ೔ௐ੔ Ҡઃ೔ճ౴ Ҡઃ೔ௐ੔ ࡞ۀ೔ճ౴

    ࡞ۀґཔ δϣϒ࣮ߦ
  31. چདྷͷҠઃ࣌ͷ՝୊ wΧελϚʔαʔϏεͷௐ੔Օॴ͕ɺ͓٬༷ɺΤϯδχΞͱ఺͋Γɺ Φʔόʔϔου͕͋Δ্ʹϑΥʔΧεͰ͖ͯͳ͍ w·Εʹਂ໷࡞ۀରԠ͕ඞཁʹͳΓɺΤϯδχΞͷෛՙ૿ཁҼͱͳΔ

  32. 4MBDL 3VCPUZͰΤϯδχΞΛίʔυԽ͢Δ w4MBDL"1* IUUQTBQJTMBDLDPNXFC  w3VCPUZ IUUQTHJUIVCDPNSLBNVSBSVCPUZ

  33. 4MBDL"1*͕࡞Δૉ੖Β͍͠ੈք ΧελϚʔ αʔϏε 4MBDL 3VCPUZ ͓٬༷ +FOLJOT"1* Ҡઃ೔ௐ੔ Ҡઃ೔ճ౴ Ҡઃґཔ

    ҠઃઌαδΣετ w 4MBDL"1*Λར༻ͨ͠3VCPUZͰϘοτΛ։ൃ͠ɺҠઃΛ$IBU0QTԽ w +FOLJOT"1*Λར༻͠ɺࢦఆͨ࣌ؒ͠ʹδϣϒΛ࣮ߦ͢Δ͜ͱͰਂ໷ରԠ΋ w ࣾ಺"1*։ൃ͠ɺෛՙͷ௿͍αʔόΛࣗಈͰݕࡧ͠ɺαδΣετ͢Δɻ
 ͦͷ৘ใΛ΋ͱʹɺΧελϚʔαʔϏε͕Ҡઃઌͷαʔόબ୒ NPOJUPS"1* δϣϒ࣮ߦ
  34. 4MBDL"1*Λར༻ͨ͠$IBU0QT w3VCPUZ࠷ߴʂʂʂ̍ wΤεΧϨͳͲͷ*TTVFͷϐοΫΞοϓ wίʔυࢿ࢈ͷσϓϩΠ wαʔϏε"1*ͷ8SBQQFS

  35. $IBU0QT

  36. ๭UZQFUBML wϘοτ͸࡞ΕΔ ˠݱঢ়͸τϐοΫ͝ͱʹϘοτఆ͕ٛඞཁʁ wϘοτͳΜ͚ͩͲɺ8FCIPPL࣮૷ਪ঑ͬΆ͍ʁ ˠαʔό࡞Δͷ͸ෑډ͕ߴ͍έʔε΋͋Δ

  37. Ϙοτ͔ͩΒ΍ͬͺΓ
 ιέοτͰετϦʔϜ͍ͨ͠͠ɺ ετϦʔϜͬͯݴ͍͍ͨ ετϦʔϜͬͯڹ͖͕͔͍͍ͬ͜͠ɺ ͪΐͬͱιϑτΫϦʔϜʹࣅͯΔ ιϑτΫϦʔϜ৯΂͍ͨ

  38. None
  39. Ͷ͐Ͱ΍ Μͷ

  40. IUUQTHJUIVCDPNQZBNB SVCPUZUZQFUBML

  41. SVCPUZUZQFUBML 3VCPUZ SVCPUZUZQFUBML PBVUIBDDFTT@UPLFO BQJWTUSFBNJOH BQJWTQBDFT BQJWUPQJDT BQJWUPQJDTUPQJD@JE ೝূτʔΫϯऔಘ ιέοτ-JTUFO

    ૊৫*%ղܾ τϐοΫ*%ղܾ ϝοηʔδ౤ߘ ೝূ ಡΈऔΓ ౤ߘ IUUQTEFWFMPQFSOVMBCJODDPNKBEPDTUZQFUBML
  42. Ұݴ͚ͩݴΘͤͯ͘Ε  BQJWUPQJDTϢʔβʔ͕ॴଐ͢Δ૊৫ͷUPQJDҰཡ  BQJWUPQJDT૊৫ʹॴଐ͠ͳ͍UPQJDҰཡ  BQJWUPQJDT TQBDF,FZYYYYࢦఆͨ͠૊৫ͷUPQJDҰཡ BQJWUPQJDTWͱಉ͘͡ॴଐ͢Δ૊৫ͷશUPQJDҰཡͷ΄͏͕ʜ ૊৫ʹॴଐ͠ͳ͍UPQJDҰཡ͸BQJWUPQJDT

    OP@CFMPOHͱ͔Ͱʜ ඞਢతʹ͢ΔͳΒBQJWTQBDFTTQBDF@OBNFUPQJDTͱ͔͔ͳʜ
  43. Ϙοτ໊ࣗ෼ͰܾΊΒΕͯศར export TYPETALK_CLIENT_ID=xxxxxx export TYPETALK_CLIENT_SECRET=xxxxxx export TYPETALK_SPACE_NAME=example export TYPETALK_BOT_NAME=nulab

  44. ·ͱΊͯ ͍ͧ͘

  45. ελό͸࠷ߴͩ͠ 5XJUUFS௒ָ͍͠

  46. ੜ࢈ੑΛߴΊΔʹ͸ ιϑτ΢ΣΞʹ࢓ࣄΛཔΉɺ ܖػΛґଘ͢Δ

  47. $IBU0QTͰ ৬छΛӽ͑ͯੜ࢈ੑΞήΞή

  48. ΠϯλʔϑΣʔεͷ౷ҰͰ ίϯςΩετεΠονΛͳ͘͢

  49. ͳ͍΋ͷ ͸࡞Δ

  50. 5IBOLZPVʂ ࠷৽ͷ࠾༻৘ใΛνΣοΫˠ !QC@SFDSVJU


[8]ページ先頭

©2009-2025 Movatter.jp