Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TypeScriptで作るGitHubApps / make GitHub Apps by TypeScript

TypeScriptで作るGitHubApps / make GitHub Apps by TypeScript

Hiromi Kimura

June 18, 2019
Tweet

More Decks by Hiromi Kimura

Other Decks in Technology

Transcript

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

    View full-size slide

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

    IUUQTLJNSPNJIBUFOBCMPHKQ

    View full-size slide

  3. IUUQTNVVNVVEPNBJODPN

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  8. (JU)VC"QQT
    wྫ͑͹ɾɾɾ
    wJTTVF͕DMPTF͞Εͨͱ͖ʹʮ͓ർΕ༷ʯίϝϯτ͢Δ
    w1VMM3FRVFTUΛPQFOͨ͠λΠϛϯάͰίʔυ಺ʹUZQP͕ͳ͍͔Λ

    ݕࠪͯ͠मਖ਼͢ΔίϛοτΛ͍ΕΔ
    w1VMM3FRVFTUͷϨϏϡʔΞʹΞαΠϯ͞Εͨͱ͖ʹ4MBDL௨஌͢Δ
    IUUQTEFWFMPQFSHJUIVCDPNBQQT

    View full-size slide

  9. IUUQTHJUIVCCMPHHJUIVCBDRVJSFTQVMMQBOEB

    View full-size slide

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

    View full-size slide

  11. ·ͣ͸ۀ຿վળ͔Β

    View full-size slide

  12. (JU)VC"QQTͷ࢓૊Έ

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

    View full-size slide

  13. ೝূXJUI(JU)VC"QQT
    (JU)VC"QQ͔Βൿີ伴Λ࡞੒͠μ΢ϯϩʔυ
    ड͚औΓଆͰ"QQ*%ͳͲ͕ೖͬͨ+85Λൿີ伴Ͱॺ໊ 34

    ॺ໊ࡁΈ+85Λ"VUIPSJ[BUJPOϔομʹηοτ͠ೝূ"1*Λୟ͘
    5PLFO͕ฦ٫ɺҎޙͦΕΛ࢖ͬͯ(JUIVC"1*Λ࣮ߦ͢Δ

    View full-size slide

  14. ೝূXJUI(JU)VC"QQT

    (JU)VC"QQ
    ൿີ伴Λ࢖͍ॺ໊͞Εͨ+85
    5PLFO
    )551αʔόʔ
    5PLFOΛར༻͠(JU)VC"1*Λ࣮ߦ
    &WFOU͔Βͷ8FCIPPL
    ʜ

    View full-size slide

  15. ೝূXJUI(JU)VC"QQT

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

    View full-size slide

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

    View full-size slide

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

    w5ZQF4DSJQUͷτϥϯεύΠϧɺςετɺ-JOU

    View full-size slide

  18. 1SPCPU
    IUUQTQSPCPUHJUIVCJP

    View full-size slide

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

    View full-size slide

  20. *NBLFJU
    wIUUQTHJUIVCDPNLJNSPNJSFWJFXFSTBTTJHOUT
    w1VMM3FRVFTUͷPQFOΠϕϯτͰϨϏϡʔΞΛΞαΠϯ͢Δ
    wର৅*%ͱΞαΠϯਓ਺ΛϦϙδτϦ಺ͷઃఆϑΝΠϧͰ΋ͭ

    HJUIVCSFWJFXFSTBTTJHOZNM

    View full-size slide

  21. OQYDSFBUFQSPCPUBQQ
    wτϥϯεύΠϧ
    wϢχοτςετ +FTU

    w-JOU &TMJOU

    ͷػߏΛ༻ҙͯ͘͠ΕΔ

    View full-size slide

  22. %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

    View full-size slide

  23. %FWFMPQNFOU
    wϩʔΧϧͰ։ൃ͢Δͱ͖͸֎෦͔ΒͷϓϩΩγ͕ඞཁ
    wTNFFJP͕༻ҙ͞Ε͍ͯΔ OHSPLΈ͍ͨͳ΍ͭ

    w։ൃ࣌͸(JU)VC"QQT࡞੒࣌ʹࣗಈͰ࡞ΒΕͯศར
    MPDBMIPTU
    &WFOU
    (JU)VC"1*

    View full-size slide

  24. %FWFMPQNFOU
    wྫ
    JTTVF͕PQFO͞Εͨͱ͖ʹίϝϯτ͢Δ
    DPOUFYUDPOUFYUܕ QSPCPU

    (JU)VC͔ΒͷQBZMPBE΍"1*ΫϥΠΞϯτͳͲ͕಺แ

    DPOUFYUHJUIVC0DUPLJUͷ֦ுܕ

    (JU)VC"1*ΫϥΠΞϯτ

    View full-size slide

  25. 6OJU5FTU +FTU

    wOQNSVOUFTU

    View full-size slide

  26. $POpH
    w֤ϦϙδτϦͰ:BNMͷઃఆϑΝΠϧΛ࣋ͭ͜ͱ͕ग़དྷΔ
    DPOUFYUDPOpH5 DPOpHZNM \EFGBVMU$POpH^

    ϦϙδτϦ಺ͷHJUIVCDPOpHZNMͷ৘ใΛऔಘ NBTUFSϒϥϯν

    View full-size slide

  27. 1SPEVDUJPO
    w)FSPLV ࠓͷͱ͜Ζແྉ࿮Ͱे෼

    IUUQTQSPCPUHJUIVCJPEPDTEFQMPZNFOUIFSPLV

    IFSPLVDSFBUF IFSPLVDPOpHTFU HJUQVTIIFSPLVNBTUFSͰ׬ྃ
    w"QQΛ࡞ͬͨΓઃఆͨ͠Γ͸खಈ

    IUUQTHJUIVCDPNTFUUJOHTBQQTOFX

    8FCIPPL63-ʹIFSPLVBQQͷ63-Λࢦఆ
    w(JU)VC&OUFSQSJTFͰ΋0,

    ()&@)045؀ڥม਺ͰυϝΠϯࢦఆ

    View full-size slide

  28. ղܾͦ͠͏ͳ໰୊
    w֤νʔϜͰಠࣗʹ࡞͍ͬͯΔ࢓૊ΈΛ౷Ұ͢Δ͜ͱ͕Ͱ͖Δ ͔΋

    wଞνʔϜɺଞࣾͷจԽΛͲΜͲΜऔΓೖΕΔ͜ͱ͕Ͱ͖Δ
    wϦϙδτϦ͝ͱʹઃఆͰ͖Δ
    w044Ͱ൚༻తʹ։ൃͰ͖Δ

    View full-size slide

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

    View full-size slide