Webhook ãš GitHub Apps
ã«ã€ããŠ
Webhook ã䜿çšãããšãGitHub ã§ã€ãã³ã (äŸ: 誰ããã³ããããããã·ã¥ãããã¢ããªããã¢ã¯ã»ã¹ã§ãããªããžããªã§ pull request ãéãããªã©) ãçºçãããšãã«ãGitHub App ã§ãªã¢ã«ã¿ã€ã ã«éç¥ãåãåãããšãã§ããŸãã Webhook ã®è©³çްã«ã€ããŠã¯ããwebhook ã«ã€ããŠããåç §ããŠãã ããã GitHub App ã§ Webhook ã䜿çšããæ¹æ³ã瀺ããã¥ãŒããªã¢ã«ã«ã€ããŠã¯ããWebhook ã€ãã³ãã«å¿çãã GitHub App ã®æ§ç¯ããåç §ããŠãã ããã
GitHub ã§ç¹å®ã®ã€ãã³ãã® Webhook ãåãåãããããã«å¯ŸããŠèªåçã«ã¢ã¯ã·ã§ã³ãå®è¡ããããã«ãGitHub App ãæ§æããããšãã§ããŸãã åãåãããšãã§ãã Webhook ã®çš®é¡ã«ã€ããŠã¯ããWebhook ã®ã€ãã³ããšãã€ããŒãããåç §ããŠãã ããã
GitHub App ã§ Webhook ã€ãã³ããåãåãã«ã¯ãGitHub App ç»é²ã§ Webhook ãæå¹ã«ããGitHub ããã® Webhook ãã€ããŒãã®éä¿¡å ãšãªã Webhook URL ãæå®ããå¿ èŠããããŸãã
GitHub App ã Webhook ã«å¿çããå¿ èŠããªãå ŽåããèªèšŒçšã«ã®ã¿äœ¿çšãããå Žåã¯ãGitHub App ç»é²ã® Webhook æ©èœãç¡å¹ã«ããããšãã§ããŸãã Webhook URL ãæå®ããå¿ èŠã¯ãããŸããã
GitHub App ã®ç»é²ã®è©³çްã«ã€ããŠã¯ããGitHub App ã®ç»é²ããåç §ããŠãã ããã GitHub App ç»é²ããµãã¹ã¯ã©ã€ããã Webhook ã倿Žããæ¹æ³ã®è©³çްã«ã€ããŠã¯ããGitHub App ç»é²ã®å€æŽããåç §ããŠãã ããã
Webhook URL ã®éžæ
GitHub App ç»é²ã® Webhook ãã¢ã¯ãã£ãã«ããéã«ã¯ãWebhook URL ãæå®ããå¿ èŠããããŸãã Webhook URL ãšã¯ãGitHub App ã«éä¿¡ããã Webhook ã€ãã³ã ãã€ããŒããåãåã Web ãµãŒããŒã®ã¢ãã¬ã¹ã®ããšã§ãã ãã®åŸããµãŒããŒã§ãã€ããŒãã®å 容ã«åºã¥ããŠã¢ã¯ã·ã§ã³ãå®è¡ã§ããããã«ãªããŸãã GitHub App ã§çºçãã Webhook ãã©ãã£ãã¯ã®éã«é©ãã Web ãµãŒããŒãéžæããå¿ èŠããããŸãã
éçºãšãã¹ãçšã® Webhook URL ã®éžæ
ã¢ããªã®éçºäžãšãã¹ãäžã«ãSmee ãªã©ã® Webhook ãã€ããŒãé ä¿¡ãµãŒãã¹ã䜿çšããŠãWebhook ãã€ããŒãããã£ããã£ããããŒã«ã«éçºç°å¢ã«è»¢éããããšãã§ããŸãã Smee ãã£ãã«ã¯èªèšŒãããŠããããã»ãã¥ãªãã£ã§ä¿è·ãããŠããªããããéçšç°å¢ã®ã¢ããªã±ãŒã·ã§ã³ã«ã¯ Smee ã䜿çšããªãã§ãã ããã ãŸãã¯ãngrokãlocaltunnelãHookdeck Console ãªã©ã®ããŒã«ã䜿ã£ãŠãããŒã«ã« ã³ã³ãã¥ãŒã¿ãŒãã€ã³ã¿ãŒãããã«å ¬éããŠãã€ããŒããåãåãããšãã§ããŸãã
Smee ã䜿çšãã Webhook URL ã®äœæ
Smee ã䜿çšãããšãããŒã«ã«éçºãã€ã³ã¿ãŒãããã«å ¬éããããšãªããGitHub ã§ Webhook ãã€ããŒããéä¿¡ã§ããäžæã®ãã¡ã€ã³ãäœæã§ããŸãã Smee ã§ã¯ããã®äžæã®ãã¡ã€ã³ã "Webhook ãããã· URL" ãšåŒã³ãŸãã GitHub App ã® Webhook URL ãšã㊠Smee ã® Webhook ãããã· URL ã䜿çšã§ããŸãã
- Smee ã䜿çšããŠäžæã®ãã¡ã€ã³ãäœæããã«ã¯ã https://smee.io ã«ç§»åãã [æ°ãããã£ãã«ãéå§ãã] ãã¯ãªãã¯ããŸãã
- Smee ã®ãã£ãã« ããŒãžã§ã[CLI ã䜿çšãã] ã®äžã®æç€ºã«åŸã£ãŠãSmee ã¯ã©ã€ã¢ã³ããã€ã³ã¹ããŒã«ããŠå®è¡ããŸãã
- Smee Webhook URL ã GitHub App ã«æ¥ç¶ããã«ã¯ãGitHub App ç»é²ããŒãžã® [Webhook URL] ãã£ãŒã«ãã«äžæã® Smee ãã¡ã€ã³ãå ¥åããŸãã 詳现ã«ã€ããŠã¯ããGitHub App ã®ç»é²ãããã³ãGitHub App ç»é²ã®å€æŽããåç §ããŠãã ããã
éçšç°å¢çšã® Webhook URL ã®éžæ
åãåã Webhook ãã©ãã£ãã¯ã®éãå°ãªãéçšç°å¢ã®ã¢ããªã±ãŒã·ã§ã³ã«ã€ããŠã¯ãä»»æã®åçã¢ããªã±ãŒã·ã§ã³ ãµãŒããŒã«ãã¹ãã§ããŸãã Webhook ãåŠçããããã®ãµãŒããŒåŽã³ãŒãã§ã¯ãã€ãã³ããåãåãããã® JSON ãã€ããŒããéã·ãªã¢ã«åããå®è¡ããã¢ã¯ã·ã§ã³ (ããŒã¿ããŒã¹ã«ããŒã¿ãæ ŒçŽãããGitHub API ãåŒã³åºããªã©) ãæ±ºããããšãã§ããŸãã
éçšç°å¢ã®å€§èŠæš¡ãªã¢ããªã§å€§éã® Webhook ãã©ãã£ãã¯ãåŠçããã«ã¯ãå°çšãµãŒããŒã§éåæ Webhook åŠçã䜿çšããããšãæ€èšããŠãã ããã ããã¯ããã¥ãŒãå°å ¥ããããšã§å®çŸã§ããŸããããã«ãããWebhook ãã³ãã©ãŒãããã¥ãŒã«ããŒã¿ãããã·ã¥ãããã€ãã³ãã«åºã¥ããŠå¥åã®ããã»ã¹ã«ããåŸç¶ã®ã¢ã¯ã·ã§ã³ãå®è¡ãããŸãã ããã«ãAzure FunctionsãAWS LambdaãHookdeck ãªã©ã®ã¯ã©ãŠãæ©èœã䜿ã£ãŠã倧éã® Webhook ã€ãã³ããåŠçããããã«ã¢ããªãã¹ã±ãŒãªã³ã°ããããšãã§ããŸãã
Webhook ã·ãŒã¯ã¬ããã䜿çšãã Webhook ã®ã»ãã¥ãªãã£ä¿è·
ãã€ããŒããåãåãããã«ãµãŒããŒãæ§æãããšããµãŒããŒã«éä¿¡ããããããããã€ããŒãããªãã¹ã³ããããã«ãªããŸãã ã»ãã¥ãªãã£äžã®çç±ãããåä¿¡èŠæ±ã¯çºä¿¡å ã GitHub ã®èŠæ±ã®ã¿ã«å¶éããå¿ èŠããããŸãã ãããè¡ãã«ã¯ãã¢ããªã® Webhook ã·ãŒã¯ã¬ãããäœæããŸãã
GitHub App ã® Webhook ã·ãŒã¯ã¬ãããäœæããã«ã¯ãGitHub App ç»é²ããŒãžã® [Webhook ã·ãŒã¯ã¬ãã] ã«ã·ãŒã¯ã¬ãã ããŒã¯ã³ãå ¥åããŸãã ãšã³ããããŒã®é«ãã©ã³ãã ãªæååãéžæããŠãã ããã 詳现ã«ã€ããŠã¯ããGitHub App ã®ç»é²ãããã³ãGitHub App ç»é²ã®å€æŽããåç §ããŠãã ããã
ã¢ããªã® Webhook ã·ãŒã¯ã¬ãããäœæããåŸã¯ãWebhook ã·ãŒã¯ã¬ãã ããŒã¯ã³ãå®å šã«æ ŒçŽããŠæ€èšŒããããã«ãµãŒããŒãæ§æããå¿ èŠããããŸãã 詳ããã¯ããWebhook é ä¿¡ãæ€èšŒããããã芧ãã ããã
Webhook ã€ãã³ãã®ãµãã¹ã¯ã©ã€ã
ç¹å®ã®ã€ãã³ãã® Webhook ãã€ããŒããåãåãããã«ãGitHub App ã«ãµãã¹ã¯ã©ã€ãããããšãã§ããŸãã GitHub App ã®ç»é²ã§éžæã§ããå ·äœç㪠Webhook ã€ãã³ãã¯ãã¢ããªã«å¯ŸããŠéžæããã¢ã¯ã»ã¹èš±å¯ã®çš®é¡ã«ãã£ãŠæ±ºãŸããŸãã ãŸããã¢ããªã«ä»äžããã¢ã¯ã»ã¹èš±å¯ãéžæããå¿ èŠããããŸããããã§ããã®ã¢ã¯ã»ã¹èš±å¯ã®ã»ããã«é¢é£ãã Webhook ã€ãã³ãã«ã¢ããªããµãã¹ã¯ã©ã€ãã§ããŸãã詳现ã«ã€ããŠã¯ããGitHub ã¢ããªã®ã¢ã¯ã»ã¹èš±å¯ãéžæããããåç §ããŠãã ããã
ããšãã°ããªããžããªã§æ°ããã€ã·ã¥ãŒãéããããã³ã«ã¢ããªã§ Webhook ã€ãã³ã ãã€ããŒããåãåãããã«ããå Žåã¯ããŸãã[ãªããžããªã®ã¢ã¯ã»ã¹èš±å¯] ã§ [ã€ã·ã¥ãŒ] ã«ã¢ã¯ã»ã¹ããããã®ã¢ã¯ã»ã¹èš±å¯ãã¢ããªã«ä»äžããå¿ èŠããããŸãã ããã§ã[ã€ãã³ãã«ãµãã¹ã¯ã©ã€ããã] ã§ [ã€ã·ã¥ãŒ] ãéžæã§ããŸãã
å Webhook ã€ãã³ãã«å¿ èŠãªã¢ã¯ã»ã¹èš±å¯ã®è©³çްã«ã€ããŠã¯ããWebhook ã®ã€ãã³ããšãã€ããŒãããåç §ããŠãã ããã