Git versioning (within ServiceManager) Follow
The ServiceManager has an integrated git client, which provides source control for services, apps, rpa, and other kinds of entities. This allows you to conviniently backup your servicemanager data, and track any changes.
What can be pushed?
Git versioning works by labels: everything that's labeled with that label will be pushed to the corresponding git repository - and this includes:
Services, apps, and rpas labeled with that label.
Environment variables that start with label_*
A partial servicemanager.properties with specific properties to override can be added as well (manually for now).
Creating a Git Repository (organizational account)
A repository is where your data will live: generally you are advised to create the repository via the organization's admin account (AuraPlayer's / your organization's account), and give developers access to it.
If you are just playing around or testing your git skills, you may perform this step with your own account.
Go to GitHub.com and login via your organizational account.
On the top right click + → New Repository.
Enter a Repository name, and Choose visibility = private, and click Create Repository.
The Repository URL (https) will be displayed, it will look like:
https://github.com/auraplayer/my_repository.git <- GIT_REPOClick on Invite Collaborators, and add your team members by their github account/email.
Generating Git Token (personal account)
The ServiceManager requires a token (the equivalent of a password), in order to interact with git. These instructions are for Tokens (classic), but you can also work with "Fine-grained personal access tokens" with read-write access to Contents.
- Go to GitHub.com and login via your personal account.
- Click on Profile pic → Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token → Generate new token (classic).
- Enter a Note (e.g. sm_localhost_integrated_git), and an Expiration.
Under Select Scopes, select "repo" and everything underneath it. - Generate the token, and copy it immediately (you won't be able to retrieve it again). <- GIT_TOKEN
ServiceManager: Linking to a Git Repository
The following Environment Varaibles should be configured in the ServiceManager:
- GIT_USER - your personal git account (must have permissions to access the repository).
- GIT_TOKEN - as generated above.
- GIT_REPO_<label> - url of your repository, as aquired above.
The name of the key ends with a label name - meaning that this label is linked to this repository.
For example:
GIT_USER = alex***@gmail.com
GIT_TOKEN = ghp_19JbfijFfpsY*****************
GIT_REPO_POSO = https://github.com/auraplayer/my_repository.gitGit Branches: configure GIT_REPO_ as follows in order to use a specific branch (which isn't the default):GIT_REPO_POSO = https://github.com/auraplayer/my_repository.git#my_branch
ServiceManager: Git Pull
When pulling changes, everything within your ServiceManager that's marked with the label will be replaced with the version from Git.
1) Go into any screen (services/apps/rpas) that displays the Labels button → Restore from Git → your label.
The labels inside the git submenu are the GIT_REPO_* labels you configured.
2) The popup will display all the commits history.
3) Select a commit to restore, and confirm.
ServiceManager: Git Push
When pushing changes, everything that's marked with your label will be pushed as a new commit in Git.
Entities with the label will be added/updated, and anything that's no longer there will be deleted.
When pushing, the remote repository must exist: it may be empty or have files already.
1) Go into any screen (services/apps/rpas) that displays the Labels button → Push to Git → your label.
2) Enter a Version number, a Title, and optionally a description → Commit.
Tips
- Backups: open GitHub.com and go to your repository → Code → Download zip.
The downloaded zip is a fully valid ServiceManager backup that can be restored anywhere!
Notice that it uses a new backup format that's only supported in ServiceManager version starting v5.529.0 (November 12th 2025 or later). - Switching repository URL: simply change the value of the GIT_REPO_label environment variable!
- Conflicts: for simplicity, the ServiceManager's git client will not handle conflicts - whatever you commit will be committed! It is your reposibility to use Pull when needed!
- History and compare: take advantage of GitHub's web interface!
See your changes and compare versions on github.com.
Comments
0 comments
Please sign in to leave a comment.