I couldn’t find a good/in-depth FAQ for a GitHub How to with ST so here goes:
If you’re looking for uk integration:
Please, I am by no means an Expert, If you find an error or see something that I should change let me know and I will update it.
Log into the IDE @ https://account.smartthings.com
Enable and Link your GitHub Account: Section taken from Smartthings developer docs
Step 1 - Enable GitHub Integration
Click the Enable GitHub Integration link on the My SmartApps or My Device >Types page. This will launch a wizard that will guide you through the process.
Step 2 - Connect your GitHub Account to SmartThings
On Step 1 of the wizard, follow the instructions to authorize SmartThings to integrate >with your GitHub account. Click the Next button after you have done this.
Source for Enabling GitHub Integration
For most of us we won’t need to go any further in the developer documents integration.
To add a repository Please do the following:
Click on My SmartApp or My Device Handlers Sections.
Click on Settings you will see the following popup:
Click Add new Repository and enter the following information:
Owner (your username will default here just override it)
Name
Branch
Then click save.
See this example of info below:
After adding a repository you will see that in your smart app or device handler sections are color coded.
Black
Indicates that the file is unchanged between your forked GitHub repository and the IDE.
Green
Indicates that the file is in the IDE only, and not in any repository.
Blue
Indicates that the file exists in your GitHub repository, and has been modified in the IDE but not committed to the repository.
Magenta
Indicates that the file has been updated in the repository, but not in the IDE. To resolve this, you should click the Update from Repo button, where you sill see the file appear in the Obsolete column. More information about the Update from Repo button can be found below.
Red
Both the IDE version and repository version have been updated, and are in need of a conflict resolution. To resolve this, you should click the Update from Repo button and follow the steps there (more information about the Update from Repo action can be found below).
Brown
Indicates that the SmartApp or Device Type is unattached to the repository version. Typically this happens when a new SmartApp or Device Type is created from a template, and the name or namespace hasn’t been changed. If you update from the repo without changing the name or namespace, the IDE version will be replaced with the repo version. Typically in this case you would change the name and namespace to be unique for your code.
Source ST developer Documents
Seeing that my rule machine Smartapps are Magenta, I know that I need to update them.
Click the update from repo button, then select the repository you would like to update from. In this case I would select Rule Trigger (master)
The following will pop up
Left Column: Everything that is available to update that is Currently Installed is in the and should be checked.
Center Column: If you see anything here you might be on a forked copy, or have Altered the code. It will have an option to compare the code between the two copies. When I initially set up my integration I knew nothing about any of this, I somehow forked rule machine and could not update it from @bravenel’s repository. The fix was to delete the smartapp completely then add it straight from his repository.
Right Column: these are things that aren’t currently installed from the selected repository. You can check these and update/install them all together if you wish.
Check the Publish Button to Publish for me, I believe this is necessary for Rule Machine, I don’t know if it’s necessary for everything…
Lastly Click execute Update and they should update/install/publish(if checked)
While executing this example I selected the image files in the repository, and received an error in the IDE after clicking execute update. I believe that will happen with anything other than an app or device handler file.
Continuing the discussion from GitHub integration and Smartthings: