TypeScriptで作るGitHubApps / make GitHub Apps by TypeScript

TypeScriptで作るGitHubApps / make GitHub Apps by TypeScript

Cbffd4d28c61bc35c2e9a7a5aca632c3?s=128

Hiromi Kimura

June 18, 2019
Tweet

Transcript

  1. )JSPNJ,JNVSB(.01FQBCP *OD 'VLVPLBUT 5ZQF4DSJQUͰ࡞Δ (JU)VC"QQT

  2. (.0ϖύϘγχΞΤϯδχΞ ໦ଜ޿ւ!LJNSPNJ ϗεςΟϯάࣄۀ෦ϜʔϜʔυϝΠϯνʔϜ 1)1ɼ3VCZɼ+BWB4DSJQU ࠷ۙ͋·Γॻ͍͍ͯͳ͍ IUUQTLJNSPNJIBUFOBCMPHKQ

  3. IUUQTNVVNVVEPNBJODPN

  4. 5ZQF4DSJQUͷৄ͍͠࿩ɺ ͋Μ·ΓͰ͖ͯ·ͤΜʂʂ

  5. (JU)VC"QQT ࢖ͬͨɺ࡞ͬͨ͜ͱ͋Δํ✋

  6. ΞδΣϯμ w(JU)VC"QQTʁ w(JU)VC"QQTΛ5ZQF4DSJQUͰ։ൃ͢Δ

  7. (JU)VC"QQT

  8. (JU)VC"QQT w(JU)VCϦϙδτϦͷͨΊͷ"QQMJDBUJPO w(JU)VCଆͷΠϕϯτΛܖػʹ8FCIPPLΛ࣮ߦ wΠϕϯτJTTVFͷPQFO΍1VMM3FRVFTUͷDMPTFͳͲ༷ʑ w8FCIPPLΛड͚ΔΞϓϦଆ͸Կ͔Λૢ࡞ͨ͠Γ w"QQ͝ͱʹݖݶ΍ΠϕϯτൃੜͷλΠϛϯάͳͲΛࡉ͔͘ઃఆՄ IUUQTEFWFMPQFSHJUIVCDPNBQQT

  9. (JU)VC"QQT wྫ͑͹ɾɾɾ wJTTVF͕DMPTF͞Εͨͱ͖ʹʮ͓ർΕ༷ʯίϝϯτ͢Δ w1VMM3FRVFTUΛPQFOͨ͠λΠϛϯάͰίʔυ಺ʹUZQP͕ͳ͍͔Λ
 ݕࠪͯ͠मਖ਼͢ΔίϛοτΛ͍ΕΔ w1VMM3FRVFTUͷϨϏϡʔΞʹΞαΠϯ͞Εͨͱ͖ʹ4MBDL௨஌͢Δ IUUQTEFWFMPQFSHJUIVCDPNBQQT

  10. IUUQTHJUIVCCMPHHJUIVCBDRVJSFTQVMMQBOEB

  11. (JU)VCʹങऩ͞Ε͍ͨʂʂʂ

  12. ·ͣ͸ۀ຿վળ͔Β

  13. (JU)VC"QQTͷ࢓૊Έ  (JU)VC"QQ )551αʔόʔ (JU)VC"1*࣮ߦͳͲ &WFOU͔Βͷ8FCIPPL ֎෦ͷ"1*Λ࣮ߦ

  14. ೝূ

  15. ೝূXJUI(JU)VC"QQT  (JU)VC"QQ͔Βൿີ伴Λ࡞੒͠μ΢ϯϩʔυ  ड͚औΓଆͰ"QQ*%ͳͲ͕ೖͬͨ+85Λൿີ伴Ͱॺ໊ 34   ॺ໊ࡁΈ+85Λ"VUIPSJ[BUJPOϔομʹηοτ͠ೝূ"1*Λୟ͘ 

    5PLFO͕ฦ٫ɺҎޙͦΕΛ࢖ͬͯ(JUIVC"1*Λ࣮ߦ͢Δ 
  16. ೝূXJUI(JU)VC"QQT  (JU)VC"QQ ൿີ伴Λ࢖͍ॺ໊͞Εͨ+85 5PLFO )551αʔόʔ 5PLFOΛར༻͠(JU)VC"1*Λ࣮ߦ &WFOU͔Βͷ8FCIPPL ʜ

  17. ೝূXJUI(JU)VC"QQT  (JU)VC"QQ ൿີ伴Λ࢖͍ॺ໊͞Εͨ+85 5PLFO )551αʔόʔ &WFOU͔Βͷ8FCIPPL ͜͜Λ࡞ͬͯ(JU)VCϥΠϑΛշదʹ͍ͯ͘͠ʂ 5PLFOΛར༻͠(JU)VC"1*Λ࣮ߦ

  18. ࡞ͬͯΈΑ͏͔ͳͱࢥ͕ͬͨ

  19. ඞཁͳ΋ͷଟ͍ w)551αʔόʔ w(JU)VC"QQTೝূ w&WFOUͷड͚औΓɺQBZMPBEΛղੳ w(JU)VC"1*ΫϥΠΞϯτ 0DUPLJU͕͋Δ͚Ͳ  w5ZQF4DSJQUͷτϥϯεύΠϧɺςετɺ-JOU

  20. 1SPCPU IUUQTQSPCPUHJUIVCJP

  21. 1SPCPU w/PEFKT༻ͷ(JUIVC"QQT։ൃ༻ϑϨʔϜϫʔΫ w)551αʔόʔ &YQSFTT ɺ(JU)VC"1*$MJFOU 0DUPLJU ͕಺แ w5ZQF4DSJQUαϙʔτ w(JU)VCଆͷ&WFOUʹԠͨ͡ॲཧΛॻ͖΍͘͢ͳ͍ͬͯΔ wೝূ΋؀ڥม਺Λઃఆ͓͚ͯ͠͹΍ͬͯ͘ΕΔ

    w։ൃऀ͕༨ܭͳ΋ͷΛ༻ҙͤͣػೳͷ։ൃʹूதͰ͖Δ
  22. *NBLFJU wIUUQTHJUIVCDPNLJNSPNJSFWJFXFSTBTTJHOUT w1VMM3FRVFTUͷPQFOΠϕϯτͰϨϏϡʔΞΛΞαΠϯ͢Δ wର৅*%ͱΞαΠϯਓ਺ΛϦϙδτϦ಺ͷઃఆϑΝΠϧͰ΋ͭ
 HJUIVCSFWJFXFSTBTTJHOZNM

  23. OQYDSFBUFQSPCPUBQQ wτϥϯεύΠϧ wϢχοτςετ +FTU  w-JOU &TMJOU  ͷػߏΛ༻ҙͯ͘͠ΕΔ

  24. %FWFMPQNFOU wOQNSVOEFW $SFBUF͢Δͱඞཁͳ৘ใ͕FOWʹࣗಈͰॻ͖ग़͞Εͯศར "11@*%(JU)VC"QQͷ*% 8&#)00,@1309:@63-)551ϓϩΩγͷ63- ޙड़  13*7"5&@,&:ൿີ伴ͷ৘ใ
 8&#)00,@4&$3&5)551௨৴࣌ͷ$MJFOU4FDSFUจࣈྻ ։ൃ༻ͱຊ൪༻Ͱ"QQΛ


    ෼͚͓ͯ͘͜ͱΛΦεεϝ IUUQMPDBMIPTU
  25. %FWFMPQNFOU wϩʔΧϧͰ։ൃ͢Δͱ͖͸֎෦͔ΒͷϓϩΩγ͕ඞཁ wTNFFJP͕༻ҙ͞Ε͍ͯΔ OHSPLΈ͍ͨͳ΍ͭ  w։ൃ࣌͸(JU)VC"QQT࡞੒࣌ʹࣗಈͰ࡞ΒΕͯศར MPDBMIPTU &WFOU (JU)VC"1*

  26. %FWFMPQNFOU wྫ JTTVF͕PQFO͞Εͨͱ͖ʹίϝϯτ͢Δ DPOUFYUDPOUFYUܕ QSPCPU 
 (JU)VC͔ΒͷQBZMPBE΍"1*ΫϥΠΞϯτͳͲ͕಺แ
 DPOUFYUHJUIVC0DUPLJUͷ֦ுܕ
 (JU)VC"1*ΫϥΠΞϯτ

  27. 6OJU5FTU +FTU wOQNSVOUFTU

  28. $POpH w֤ϦϙδτϦͰ:BNMͷઃఆϑΝΠϧΛ࣋ͭ͜ͱ͕ग़དྷΔ DPOUFYUDPOpH5 DPOpHZNM \EFGBVMU$POpH^ ϦϙδτϦ಺ͷHJUIVCDPOpHZNMͷ৘ใΛऔಘ NBTUFSϒϥϯν

  29. 1SPEVDUJPO w)FSPLV ࠓͷͱ͜Ζແྉ࿮Ͱे෼ 
 IUUQTQSPCPUHJUIVCJPEPDTEFQMPZNFOUIFSPLV
 IFSPLVDSFBUF IFSPLVDPOpHTFU HJUQVTIIFSPLVNBTUFSͰ׬ྃ w"QQΛ࡞ͬͨΓઃఆͨ͠Γ͸खಈ
 IUUQTHJUIVCDPNTFUUJOHTBQQTOFX


    8FCIPPL63-ʹIFSPLVBQQͷ63-Λࢦఆ w(JU)VC&OUFSQSJTFͰ΋0,
 ()&@)045؀ڥม਺ͰυϝΠϯࢦఆ
  30. ࠓޙ

  31. ղܾͦ͠͏ͳ໰୊ w֤νʔϜͰಠࣗʹ࡞͍ͬͯΔ࢓૊ΈΛ౷Ұ͢Δ͜ͱ͕Ͱ͖Δ ͔΋  wଞνʔϜɺଞࣾͷจԽΛͲΜͲΜऔΓೖΕΔ͜ͱ͕Ͱ͖Δ wϦϙδτϦ͝ͱʹઃఆͰ͖Δ w044Ͱ൚༻తʹ։ൃͰ͖Δ

  32. ·ͱΊ w(JU)VC"QQTͬͯͳΜͩΖ w1SPCPUͰศརʹ(JU)VC"QQTΛͭ͘ΕΔ w͍͍͓΋ͪΌ͕Ͱ͖ͨ w(JU)VCʹങऩ͞Ε·͠ΐ͏