Google Apps Scriptã®ã³ãŒããGitHubã§ç®¡çããæ¡åŒµæ©èœãGASã
ä»åã¯å°ãã¿ãšããäºã§ãGoogle Chromeçšã®ãšã¯ã¹ãã³ã·ã§ã³ãšããŠããGoogle Apps Script GitHub ã¢ã·ã¹ã¿ã³ããã玹ä»ããŸãããã®ãšã¯ã¹ãã³ã·ã§ã³ã¯ãGoogle Apps Scriptãæ¥åžžæ¥åã«äœ¿ã£ãŠããŠããã®ãœãŒã¹ã³ãŒãã®ç®¡çã«åŒ·ãäžæºãæã£ãŠã人ã«ã¯æã£ãŠæ¥ãã®ãšã¯ã¹ãã³ã·ã§ã³ã§ããååã«ããéãããœãŒã¹ã³ãŒãã®ç®¡çå ã¯githubã«ãªããŸãã
ãã®çŽ æŽãããæ¡åŒµæ©èœãäœæãããæ¹ã®ããŒãžã«ã¯ã詳ãããã®å
容ãæžãããŠããã®ã§ãããããã§ã¯ãèªåãæ¥åžžã§äœ¿ã£ãŠã¿ãææ³ã¿ãããªãã®ãæžããŠã¿ãããšæããŸãã
â»2019幎1æ18æ¥ãããç¡æã¢ã«ãŠã³ãã§ããã©ã€ããŒãGitã䜿ããããã«ãªããŸããå¶éã¯å ±åç·šéè ã3åãŸã§ãšããäºã ããéå ¬éãããžã§ã¯ããããã€ã§ãäœããã®ã§ãGoogle Apps Scriptã§ã掻çšã®å¹ ãåºãããŸãã
ç®æ¬¡
æŠèŠ
ãããããæ®æ®µããGoogle Apps Scriptã䜿ã£ãŠã¢ããªã±ãŒã·ã§ã³ãäœæããŠãã人ã¯æããŠããäºã§ããããããã®ã¹ã¯ãªãããšãã£ã¿ãšããã®ãããªããšããããšã䜿ãã«ããããšããã®ããäŸãã°ãWikiãªã©ã§ã¯ç·šéããŠä¿åãã床ã«å·®åãä¿åããããããŠæ»ããããã°ãå·®åãããã£ããšæ»ããæ©èœãæèŒãããŠããŸãããŸããã¹ãã¬ããã·ãŒãçã§ãç·šéå±¥æŽãéœåºŠä¿åãããããããŸãå ã«æ»ãããšæãã°æ»ããä»çµã¿ã«ãªã£ãŠããŸããããããGoogle Apps Scriptã®ãœã¬ã«ãå€æŽå±¥æŽãã埩å ããæ©èœãæèŒãããŠããã®ã§ãããã³ã³ãã¥ãŒã¿ã®ããã°ã©ã ã®å Žåããã ãããå šç¶ç®¡çåºæ¥ãªããã§ãããã
- ãœãŒã¹ã³ãŒããä»äººãšãã£ãšç°¡åã«å ±æããã
- ãœãŒã¹ã³ãŒãã®ãªããžã§ã³ç®¡çãè²ã 説æãšãä»ããŠç®¡çããã
- å Žåã«ãã£ãŠã¯ãæžãæºããã³ãŒãã®å¡ãã¬ãã£ãšåã蟌ã¿ãã
- ãªãŒãã³ãªç°å¢ã§ã³ãŒããé瀺ãããã®äžã§è²ã ãšã¢ããã€ã¹ãé ããã
- ããŒã«ã«ã§éçºããŠã³ãŒããã¢ããããŒãããã
- ã¹ãã¬ããã·ãŒãã®ã³ãŒãã管çãããã®ã§ã
- ã³ãŒãã¹ããããçãªäœ¿ãæ¹ããããã
- äœããæ軜ã«ç®¡çããããã
ãªã©ãªã©ããã€ãŠãGoogle CodeãªããŠãã®ããããŸãããããããã£ããã®ãçµ±åããŠããããè¯ãã£ãã®ã§ããããããªãã®ã¯Google Apps Scriptã«ã¯ãããŸããããŸããããŒã«ã«ã§ã®éçºã«é¢ããŠèšãã°ãGoogle謹補ã®Eclipseãã©ã°ã€ã³ã¯ãã¹ã¿ã³ãã¢ããŒã³ã¹ã¯ãªããããæ±ããŸãããšããæ®å¿µãªæãã§äœ¿ãåæããããããŸããïŒå®éã«ã¯ã¹ã¿ã³ãã¢ããŒã³ã¹ã¯ãªãããããã¹ãã¬ããã·ãŒãåã蟌ã¿ã®ã»ããå€ãã§ãããïŒã
ãããªæ°ã ã®äžæºã解決ããŠãããã®ããã®ãšã¯ã¹ãã³ã·ã§ã³ã§ãããGitHubã«æ¥ç¶ããŠãªããžããªç®¡çãè¡ãäºãåºæ¥ãããããããã®ã§ãã
ã»ããã¢ãã
ã€ã³ã¹ããŒã«
ãããããGoogle Apps ScriptãæžããŠã人ã¯ãChromeãã©ãŠã¶ã䜿ã£ãŠããã¯ãã§ãã®ã§ããã®Chromeãã©ãŠã¶ã«ãšã¯ã¹ãã³ã·ã§ã³ãè¿œå ããã ãã§ããã¯ããã¯ãç¹ã«å€ãã£ãç¹ããªãã®ã§ãã©ããã£ãŠäœ¿ãã®ãïŒè¬ã§ãããããã®ãšã¯ã¹ãã³ã·ã§ã³ã¯ãã€ã³ã¹ããŒã«åŸã«ãGitHubãžã®ãã°ã€ã³ãæžãŸããŠãããã¹ã¯ãªãããšãã£ã¿ãéãããšã§æå³ããããŸãã
â»çŸåšã¯æ°æ¹åŒã«ãªã£ãŠãã®ã§ãåŸè¿°ã®æ°ããŒãžã§ã³ã®åé¡ã«ãããã£ãŠããŒã¯ã³ã»ããã¢ããããŠãããã°ã€ã³ãå¿ èŠã§ãã
å³ïŒãªããšã¡ãã¥ãŒããŒã«GitHubã®é ç®ãåºçŸïŒïŒ
GitHubãšæ¥ç¶ãã
ãšã¯ã¹ãã³ã·ã§ã³ãã€ã³ã¹ããŒã«ããããå³äžã®Google Apps Scriptã®ã¢ã€ã³ã³ãå³ã¯ãªãã¯âãªãã·ã§ã³ãéããŸããããã§ã®èšå®é ç®ã¯ãã°ã€ã³ã ãã§ããåœããåã§ãããäºåã«GitHubã«ã¢ã«ãŠã³ããäœã£ãŠããå¿ èŠæ§ããããŸãããªããžããªã¯äºåã«äœã£ãŠããå¿ èŠæ§ã¯ç¹ã«ãããŸããããã®ãšã¯ã¹ãã³ã·ã§ã³ãããªããžããªãæ°èŠäœæããäºãåºæ¥ãããã«ãªã£ãŠããŸããGithub Enterpriseãäºæ®µéèªèšŒã«ã察å¿ããŠããããã§ããäŒæ¥å ã§ã®ãã©ã€ããŒããªgitã®æŽ»çšã§ã䜿ãããã§ããã
ãã°ã€ã³ã¯ã¡ãŒã«ã¢ãã¬ã¹ã§ã¯ãªãããã°ã€ã³åãšãã¹ã¯ãŒãã§ãïŒäœãçŸåšææ°ã®IDEã®å Žåã¯ãã®ææ³ã§ã¯å ¥ããªãã®ã§ãåŸè¿°ã®æ°ããŒãžã§ã³ã®åé¡ãåç §ããå¿ èŠããããŸãïŒ
å³ïŒç¡äºã«ãã°ã€ã³åºæ¥ãŸããã
䜿ãæ¹
䜿ãæ¹ã¯ãšãŠãã·ã³ãã«ã§ç°¡åã§ãããã®ä»ã«ãã©ã³ãã®äœæçããããŸããåºæ¬çã«ã©ã®æ©èœãããã¡ã€ã«åäœã§ã¯ãªãããªããžããªåäœã§ã®äœæãã¢ããããŒããããŠã³ããŒãã«ãªããŸãã®ã§æ³šæãå¿ èŠã§ãããŸãã¯ãã¹ã¯ãªãããšãã£ã¿ãéããŸãããã
â»ãã¡ã€ã«åäœã§ããªããžããªããã®ããŠã³ããŒããšã¢ããããŒããå¯èœã«ãªã£ãŠããŸãããã§ãã¯ããã¯ã¹ã«ãã§ãã¯ãå ¥ãããšãã¢ããããŒã/ããŠã³ããŒããããã®ã§ãããŒã ã§äœæ¥ããå Žåã«ã¯ããã¡ã€ã«åäœã§åœ¹å²ãã¢ãµã€ã³ããŠãããšæããããããŸããã
ãªããžããªã®æ°èŠäœæ
ã¹ã¯ãªãããšãã£ã¿ãéããšãé¢æ°ã®æšªã«ïŒã€ã¡ãã¥ãŒãè¿œå ãããŠããŸããCreate new repoã«ãŠæ°ãããªããžããªãäœæããäºãåºæ¥ãŸããäœæããã ãã§ããã®æç¹ã§ã¯ã³ãŒããã¢ããããŒãããŠããŸããã®ã§æ³šæããŠãã ãããã¡ãªã¿ã«ãåãã¡ãã¥ãŒã«ãŠãèªåãåå ããŠããªããžããªãäžèŠ§ã«åºãŠããŸããã³ãŒãã®ã¢ããããŒããããŠã³ããŒãã®å Žåã«ã¯ã察象ã®ãªããžããªãããã§éžæããŠããå¿ èŠããããŸãã
å³ïŒãªããžããªããµã¯ã£ãšäœãã
ã³ãŒãã®ã¢ããããŒã
ã³ãŒãã®ã¢ããããŒããã€ãŸãPushã§ãããå çšã®ãªããžããªã®ã¡ãã¥ãŒã«ãŠãèªåãäœã£ããªããžããªãéžæããPushãã¿ã³ãæŒãã ãã§ãããããžã§ã¯ãã®å šãã¡ã€ã«ã®ã³ãŒããã¢ããããŒããããŸãã®ã§ãäŸãã°ã¯ã©ã€ã¢ã³ãã·ãŒã¯ã¬ãããããã¹ã¯ãŒããããæžããŠããããªã±ãŒã¹ã§ã¯æ³šæãå¿ èŠã§ãããããã£ããã®ã¯ã¹ã¯ãªããããããã£ã«æ ŒçŽããŠãå¿ èŠãªæã«åŒã³åºããããªã³ãŒãã®äœç³»ã«ãã¹ãã§ãããããŸãããã§ã«ã³ãŒããã¢ããããŒãæžã¿ã§ãå床å€æŽãå ããŠã¢ããããŒãããããšããªããžã§ã³ãšããŠå·®åãšã³ã¡ã³ãä»ãã§ã¢ããããŒããå¯èœã§ãã
ãã¡ããšãã³ããããããã°ãšããŠGitHubã«ãæ®ããŸããHistoryããããã確èªåºæ¥ãŸããã
å³ïŒã³ã¡ã³ãä»ãã§å€æŽçç±ãæ®ããã®ããããããïŒå€æŽç®æããïŒ
å³ïŒå€æŽåŸPushããæã®Diffã®è¡šç€º
ã³ãŒãã®ããŠã³ããŒã
ã¡ãã£ãšããåŠçãèšç®ããããããªãã®ã¯é¢æ°åããŠãå°äžã€ãã©ã€ãã©ãªåãããŠããã°è¯ãã®ã§ãããäŸãã°OAuth2èªèšŒãšãã®ãµã€ãããŒã¿ãããªã倧ããªã²ãšå¡ã®åŠçãšããµã€ãããŒçšã®ã³ãŒãè«žã äžåŒã¿ãããªãã®ã¯ãã©ã€ãã©ãªåãšããã®ã¯ã¡ãã£ãšé£ããïŒå¿ ããããµã€ãããŒã®å 容ãå ±éãšã¯éããªãã§ãããïŒã
ããããæãããGitHubããå¡ãã¬ãã£ãšæã£ãŠãããã®ãã³ãŒãã®ããŠã³ããŒããæ°èŠã«ã¹ã¯ãªãããæžãå§ããåã«ããªããžããªãéžæããŠãPullãã¿ã³ãæŒãã°ãææ°ã®ã³ãŒããšãã¡ã€ã«çŸ€ããããžã§ã¯ãã«ã€ã³ãµãŒãããäºãåºæ¥ãŸããæžãå§ãã®é ã«ã¯ç©ºã®ã³ãŒã.gsãããã ããªã®ã§ãããPullãæŒããããã¢ããããŒãæžã¿ã®gsãhtmlãã¡ã€ã«é¡å šãŠãã¯ã³ã»ããã§åã蟌ããã®ã¯ããã®ããããããããã
ã³ãŒã.gsããããããªã®ãå€ãªãšã©ãŒãã¡ããã£ãšåºãŸãããå®çšäžå šãåé¡ãããŸãããäœãååã®ãã¡ã€ã«ããããžã§ã¯ãå ã«ããå Žåã«ã¯æ³šæãå¿ èŠã§ãããããæ°ãã€ããã°ããã®Pullæ©èœã¯ãšãŠãããããããã®ã§ãã
ã³ãŒãã¹ããããã®ä»£ããã«ããªãã®ã§ãä»åŸã¯ãã®ãšã¯ã¹ãã³ã·ã§ã³ãã©ãã©ã掻çšããŠè¡ãããã§ãããããŸã§ã®èªåãæžããã³ãŒãé¡ãgithubã«ã¢ããããŠè¡ããããªãšæããŸãã
ãã®ä»
GitHubèªäœã«ã¯ä»ã«ãPull RequestããIssueã®å ±åãªã©ã®ãã°ãã©ãã«ãŒçãªãã®ãWikiãReadme.mdãæžãæ©èœãªã©æ§ã ã§ããããšã¯ã¹ãã³ã·ã§ã³ã§ã¯ãããŸã§ã¯æ©èœãšããŠæã£ãŠããªãã®ã§ããã°ãã©ããã³ã°ããã«ãªã¯ãšã¹ãçã«é¢ããŠã¯ãéçºããŒã å ã§GitHubã®äœ¿ãæ¹ãåŠã¶ãšè¯ãã§ãããã
ãŸãããã®ä»ã«ãGoogle Apps Scriptå ã®ãã¡ã€ã«åã«/ã䜿ãããšã§ãgithubã®ãã©ã«ãéå±€ã«ãŸã§å¯Ÿå¿ããŠãã®ã§ãããªãŒç®¡çãããäºãã§ãã¡ããããã§ããåãã§ããã
å³ïŒãã¡ã€ã«åã§ããªãŒç®¡çããã
â»Githubã«ã¢ããããŒãåŸãæ°ããGASåŽã«ãã¡ã€ã«ãäœã£ãŠãPushããããšæ°ããäœã£ãã³ãŒãå ãããããªããšã«ãªã£ããããã®ã§ãäžåºŠä¿åããŠpushãããããããªã£ãã³ãŒãã¯ç Žæ£ããã°OKã§ãã
æ°ããŒãžã§ã³ã®åé¡
以åããåºãå©çšãããŠããChrome Extensionã§ãããGoogle Apps Script Github Assistantãã§ãããæ°IDEã§ãå©çšã§ããããã§ããäœããã°ã€ã³æ¹æ³ãã¡ãã£ãšç°ãªã£ãŠããŸãããã®ãŸãŸãæ®éã«IDã§ããã¡ã¢ããšãã¹ã¯ãŒãã§ãã°ã€ã³ããŠããŸããšãCannot read property âforEachâ of undefinedãšãããšã©ãŒãåºãŠäœ¿ããŸããã以äžæé ã§TokenãçæããŠå ¥åããŸãã
- Github Assistantã®ãã°ã€ã³ç»é¢ã«ããGithub Access Tokenãã¯ãªãã¯ïŒèŠGithubãžã®ãã°ã€ã³ïŒ
- Generate New Tokenãã¯ãªãã¯ãã
- Noteã«ããããããååãã€ããŠãrepoããã³å¿ èŠãªã¢ã¯ã»ã¹æš©éã«ãã§ãã¯ãå ¥ãã
- Personal Access Tokenãåºãã®ã§ã³ããŒãã
- Github Assistantã«æ»ããèªåã®ã¡ã¢ãããã³4.ã®ã¢ã¯ã»ã¹ããŒã¯ã³ãå ¥ããŠGithub Loginãã¯ãªãã¯
- Google Apps Scriptã®éçºç»é¢ããªããŒããããšãèªã¿èŸŒãŸããŠRepository updatedãåºãããã«ãªã
â»Google Apps Script APIããªã³ã«ããŠããªããšã[github assistant] undefinedãšãããšã©ãŒãåºãŠäœ¿ããªãã±ãŒã¹ããããŸããApps Scriptããã·ã¥ããŒãã®èšå®ãéããŠãããªã³ãã«ããŠããå床èšå®ãããŠã¿ãŠãã ããã
â»ãŸãäœã£ãã°ããã®ã¢ã«ãŠã³ãã§ç©ºã®ãªããžããªã®ãŸãŸã§ããšã©ãŒãåºãŸãããã©ã³ããäœæã§ããŸããããªã®ã§ãé©åœã«ãhttps://github.com/ããã¯ããŒã /ãªããžããªå/upload/mainãã®ããŒãžã«ã¢ã¯ã»ã¹ããŠãæåã§äœããã¡ã€ã«ãã¢ããããŒããããšè¯ãã§ãããããããšããã®ãªããžããªã«ã¢ãããããŠã³ããŒããå¯èœã«ãªããŸãã
â»å©çšããPersonal Tokenã¯ããã©ã«ãã§30æ¥éã§æéåãããŸãã
å³ïŒGithubã§ã³ãŒãã®ããŒãžã§ã³ç®¡çãã§ããããã«ãªã
å³ïŒãã°ã€ã³ç»é¢ã¯ãã¹ã¯ãŒãã§ã¯ãªãAccess Tokenãå¿ èŠ
é¢é£ãªã³ã¯
- danthareja/node-google-apps-script
- soundTricker/gas-manager
- About the Google Plugin for Eclipse
- Getting your apps scripts to Github
- claspã䜿ããGoogle Apps Scriptãããžã§ã¯ããgitã§ããŒãžã§ã³ç®¡çãã
- æå ±ãGitHubç¡æãŠãŒã¶ãŒãç¡å¶éã«ãã©ã€ããŒããªããžããªã䜿ããããã«ãªã
- [GAS][GitHub][tips]Google Apps Script GitHub ã¢ã·ã¹ã¿ã³ãã§ãPush ããéã«ãEverything already up-to-dateããšã¡ãã»ãŒãžãåºãå Žåã®å¯ŸåŠæ³
- [GitHub] Personal Access Tokenã®æå¹æéãèšå®ã§ããããã«ãªã£ãŠããŸãã
ãåç¥ã§ããããBitbucketã§ã䜿ããŸããéå ¬éãªããžããªç¡æãªã®ã§äŸ¿å©ã§ãã