Google Apps Script GitHub Assistant
Manage your gas code with github/github enterprise/bitbucket/gitlab
Manage your Google Apps Script code with your favorite scm(github/github enterprise/bitbucket).
[IMPORTANT] The new version requires Google OAuth to call Apps Script API, before the OAuth app be verified by Google, it only allow to grant 100 users' permission, if you encounter some errors said can not grant permission to the app, please wait for the verification process completed, sorry for the inconvenience!
If you can not wait, please try check out the code from https://github.com/leonhartX/gas-github and switch to v4.0.3, install the extension from source with "Load Unpacked" in the extension page, it can still work with the old IDE.
Feature:
- Push/Pull code between github and Google Apps Script
- Sync your code to public/secret Gist
- Works with "Embedded" scripts (Scripts that are bound to SHEETS, DOCS, and FORMS)
- Create github repo, branch and file from Google App Script IDE
- Show diff when pull/push
- Support choose files to pull/push
- Support commit comment when push
- Support Github, Github Enterprise, Bitbucket and GitLab
- Support two-factor authentication(only for Github and Github Enterprise)
- Support directory(with slash in filename)
- Support Github Organization, Bitbucket Team and GitLab Groups.
- Google Apps Script native ui
Attention:
- The *Pull* is not work actually the same as Github, since Google Apps Script do not have revision info, the *Pull* will just fetch your code from github and OVERWRITE(not merge) to the project.
Changelog 5.1.0
- support auto-completion in repo and branch list
- adjust diff window size
Changelog 5.0.6
- migrate to manifest v3
Changelog 5.0.5
- remove gitlab.com permission, fix some gitlab issue by @Hell-K
Changelog 5.0.3
- remove unnecessary permission
Changelog 5.0.2
- fix ignore file error
Changelog 5.0.1
- improve log for new IDE
- change extension icon
Changelog 5.0.0
- [IMPORTANT] Use Google Apps Script API instead of internal RPC since it changed in new IDE, need to login with Google to work(currently the Google OAuth App is note verified yet, so there will be a warn page)
- Support new GAS IDE(old IDE is not supported anymore)
- Fix can not work with multi IDE tab in same browser
Changelog 4.0.7
- Fix GitHub deprecation notification for using token in query parameter
Changelog 4.0.6
- Use unicode icons
- Highlight current repo
Changelog 4.0.5
- Fix broken due to internal RPC update
Changelog 4.0.4
- Fix broken due to internal RPC update
Changelog 4.0.3
- Fix .gs pulled as .html
Changelog 4.0.2
- Remove support for hosted GitLab
Changelog 4.0.1
- Fix an undefined error when file not existed
Changelog 4.0.0
- Add support for GitLab (the addition permission requested is for GitLab)
Changelog 3.3.6
- Fix extension not work with AppsScript Color 1.0.1
Changelog 3.3.4
- Fix url issue in 3.3.3
Changelog 3.3.3
- Support corporate google apps account.
Changelog 3.3.2
- Fix push/pull not work with embedded script.
Changelog 3.3.1
- Fix GAS's PRC change.
Changelog 3.3.0
- Support manifest file with a new config item.
- Fix unexpected deletion when push to Github.
Changelog 3.2.2
- Fix bitbucket connection error when there's too many repo.
Changelog 3.2.1
- Bug fix.
Changelog 3.2.0
- Add ignore file pattern option.
Chaneglog 3.1.0
- Add an option to support change file type to sync(upload .gs file as .js).
Changelog 3.0.3
- Fix login github with email not work.
Changelog 3.0.2
- Fix dismiss link now work.
Changelog 3.0.1
- Add relogin warn.
Changelog 3.0.0
- Support bitbucket.org.
- Show repo's full name (with user/organization) in dropdown list.
- Support create repo under Github organization or Bitbucket team.
- Fix create new branch from current branch.
- Fix several minor bugs.
Changelog 2.0.5
- Bug fix.
Changelog 2.0.4
- Bug fix.
Changelog 2.0.3
- Add star option when login.
Changelog 2.0.2
- Fix delete files failed sometimes.
Changelog 2.0.1
- Support create private repo from extension.
Changelog 2.0.0
- Support file deleted and rename.
Changelog 1.0.1
- Support use access token to login.
Changelog 1.0.0
- Add Gist support. now you can sync your code to gist(public/secret).
- To use gist, you must re-login to create a new access token which has the gist permission, or manually add gist scope in your current github access token.
- Simple usage: select 'Using Gist' in repo dropdown list, and then select gist id in Gist dropdown list.
Changelog 0.1.9
- make error message more clearly when try to create branch in empty repo
Changelog 0.1.8
- change gwt call to newest version
Changelog 0.1.7
- fix minor bugs
Changelog 0.1.3
- change github scope to 'repo' to support private repo
Changelog 0.1.2
- fix bug: follow Github API's Link header to get all repos/branches
Latest reviews
Getting an Error when trying to push: 11:51:42 PM Error [github assistant] undefined The repo is visible in Apps Script and I believe all of the proper permissions are granted. Anyone have ideas?
Works great!!!
the extension still works in 2024
Fantastic tool! Still working in 2024!!
Excellent for a simple repository
ok
Can I get guidance, I have added the extension but when trying to use it in google sheets, or any other site it is saying cant read or change site's data
Amazing extention. Just make please the pull Diff window wider, it's difficult to check the code.
Amazing. Was some problems on start, but then do creates repo and pushs.
Amazing. Was some problems on start, but then do creates repo and pushs.
This tool was amazing when it worked. I wish that someone could pick it back up and make it compatible again.
This tool was amazing when it worked. I wish that someone could pick it back up and make it compatible again.
Simples de usar, e funciona perfeitamente!
Works flawlessly so far. Really provides essential functionaliy that should have been included into Google Apps Script from the start.
Works flawlessly so far. Really provides essential functionaliy that should have been included into Google Apps Script from the start.
Nice idea but.... I get the following error in my console "[github assistant] TypeError: Cannot read properties of undefined (reading 'forEach')"
Nice idea but.... I get the following error in my console "[github assistant] TypeError: Cannot read properties of undefined (reading 'forEach')"
This plugin is completely broken, apparently has been for nearly a year. Attempting to use it just gives a "[github assistant] can not get oauth token, currently only support Chrome" error, and bug reports (gas-github on Github) about this as far back as February 2021 are unresolved.
This plugin is completely broken, apparently has been for nearly a year. Attempting to use it just gives a "[github assistant] can not get oauth token, currently only support Chrome" error, and bug reports (gas-github on Github) about this as far back as February 2021 are unresolved.
Code Saver! Thank you
Code Saver! Thank you
Lifesaver! Exactly what's missing in Google Apps Script.
Lifesaver! Exactly what's missing in Google Apps Script.
とても便利でありがたく使っていたのですが、久しぶりにGASの画面を開くと [github assistant] TypeError: Cannot read properties of undefined (reading 'forEach') とエラーが出てgithubに繋がりません。
Such a great app. Works like a charm. So glad to have a repo for my google sheets scripts, I was amazed how well it works with bounded scripts.
Such a great app. Works like a charm. So glad to have a repo for my google sheets scripts, I was amazed how well it works with bounded scripts.
No words, it's just brilliant. This is the best way to use custom IDE
No words, it's just brilliant. This is the best way to use custom IDE
I coudln't make it work with bitbucke, we use Okta to login, it doesn't seem to provide an option to login with that.
助かりました!
You've saved my time and effort! Thank you for steady update.
You've saved my time and effort! Thank you for steady update.
Few days back it was working fine with bitbucket. We push all the code at bitbucket. Suddenly it stopped working with bitbucket. Unable to login. It throws error in the popup (Can not login, please check your username and password) and in console it throws below error Access to XMLHttpRequest at 'https://bitbucket.org/site/oauth2/access_token' from origin 'chrome-extension://lfjcgcmkmjjlieihflfhjopckgpelofo' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Few days back it was working fine with bitbucket. We push all the code at bitbucket. Suddenly it stopped working with bitbucket. Unable to login. It throws error in the popup (Can not login, please check your username and password) and in console it throws below error Access to XMLHttpRequest at 'https://bitbucket.org/site/oauth2/access_token' from origin 'chrome-extension://lfjcgcmkmjjlieihflfhjopckgpelofo' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
The best tool - can't believe how easy it is to use.
The best tool - can't believe how easy it is to use.
I have no idea why I didn't set this up sooner. So easy to set up and use. Thanks for all the work getting this deployed and updated for the new IDE.
I have no idea why I didn't set this up sooner. So easy to set up and use. Thanks for all the work getting this deployed and updated for the new IDE.
素晴らしい!が、最初が難しい。
Doesn't seem to be working with the new editor?
Google Apps Script does not allow ES modules, so I made use of the facility to break up code into lots of separate files, which all seem to be accessible to each other without a module system. Then I went crazy trying to keep backups of these files. I was totally amazed by this Chrome extension. Literally one click install, give it a Github token, and it magically pushes commits of ALL the ".gs" files in your project to a github repo. I literally don't believe this tool exists. I deny its existence, as it is too good to be true.
Google Apps Script does not allow ES modules, so I made use of the facility to break up code into lots of separate files, which all seem to be accessible to each other without a module system. Then I went crazy trying to keep backups of these files. I was totally amazed by this Chrome extension. Literally one click install, give it a Github token, and it magically pushes commits of ALL the ".gs" files in your project to a github repo. I literally don't believe this tool exists. I deny its existence, as it is too good to be true.
Greatest extension ever
Extremely handy add-on that lets me install scripts into Google sheets and docs quickly and easily. One minor thing. The github authentication page has options to use your GitHub password or a key. The key option works, the password doesn't. It would also be handy to have some notes about which permissions the plugin needs associated with the key.
Extremely handy add-on that lets me install scripts into Google sheets and docs quickly and easily. One minor thing. The github authentication page has options to use your GitHub password or a key. The key option works, the password doesn't. It would also be handy to have some notes about which permissions the plugin needs associated with the key.
It has a bit of inconsistency but I appreciate the effort. Very useful to me.
It has a bit of inconsistency but I appreciate the effort. Very useful to me.
Really great and useful. Use it all the time to keep my projects up to date. Easy to setup and use, too.
Really great and useful. Use it all the time to keep my projects up to date. Easy to setup and use, too.
great!