Managing GitHub Integration in the Webtask Editor
Sync your task with a file in a GitHub repository!
Linking Your GitHub Account to Webtask
Linking your GitHub account to your Webtask account will allow you to sync your tasks to a file in any public repository you are a member of. If you check the private repository permission when setting up the link, you can also do so with private repositories as well.
Syncing Your Webtask with GitHub
Under the settings menu, selecting GitHub will bring up the GitHub sidebar. From this sidebar, you can sync your current task's code to a GitHub repository. Here, you can choose a repository, a branch, and a particular file. Once this is done, you'll be able to manage the sync settings for the task.
Note: If you want to create a new repository, branch, or file to sync your task with, rather than an existing one, simply type the desired name into the search field. If it doesn't already exist, you'll get the option to create it!
When the Manual Sync option is enabled and you open the task in the Editor, it will check for differences between the GitHub hosted file and the task. If there are changes in one that are not reflected in the other it will present the diff and you will then be able to choose which version to keep.
The Github to Webtask option will allow you to automatically sync the GitHub hosted code to your task when commits are pushed to GitHub that alter the hosted code. If changes are only made via GitHub, this option could be enabled alone. However, if changes are made both in GitHub and in the Editor, this option could be used in tandem with the Webtask to GitHub option.
Conversely, enabling the Webtask to GitHub option will automatically create a commit to the GitHub repository each time changes are saved in the Editor. If changes are only being made in the Editor, this option could be enabled alone. However, if changes are made both in GitHub and in the Editor, this option could be used in tandem with the GitHub to Webtask option.
Branching and Versions
The task is synced with a specific file in a specific branch. Because of that, if necessary, multiple tasks could be created and maintained, if necessary, to reflect different branches. For example, a webtask could be synced with an repository branch in production usage, but a newer version of the task could be developed and tested and be synced to a development branch.
This ability to link different tasks with different branches in the same repository allows the flexibility to develop properly, and not be forced to create separate repositories in order to use source control with development stage Webtasks!