ALERT: Some images may not load properly within the Knowledge Base Article. If you see a broken image, please right-click and select 'Open image in a new tab'. We apologize for this inconvenience.

AE - How to setup Version control with Github or Bitbucket


Article ID: 112059


Updated On:


CA Automic Workload Automation - Automation Engine


Version Control - A new feature in Automation Engine 12.2

As a developer and object designer, you create and manage multiple versions of an object, export and import these versions to and from a remote repository, rollback changes to a previous version and have access to the Client's commit history. You can synchronize repositories across multiple nodes of a system to access your data and, simultaneously, ensure a collaborative working environment for all developers and object designers.

You can access the Version Control functionality from the Process Assembly, you can carry out the following operations:

  • Commit your changes to the remote repository
  • Merge changes made in other branches to your Client
  • Rollback to a previous version of your Client
  • Create a new branch from an existing branch
  • Pull changes that have been committed to your branch from another client.


Product: Automic Workload Automation
Release: 12.2 and superior

Version Control tools such as Github, Bitbucket


1/ Set up a Github Repo
2/ Set up SSH key: Automation Engine will communication with Github via a SSH key

+ Double check your Github email: It will be used when you create your SSH key. 

+ (Additional Information 4) Create SSH key in your Automation Engine server 

Step 1:
When generating the ssh key, make sure it is in a supported format and leave the passphrase empty
$ssh-keygen -m PEM -t rsa -b 4096 -C "[email protected]"

Step 2:
When you're prompted to "Enter a file in which to save the key," press Enter. This accepts the default file location.
Enter a file in which to save the key (/home/you/.ssh/id_rsa): [Press enter]

Step 3:
Start the ssh-agent in the background.
$eval "$(ssh-agent -s)"

Step 4:
Add your SSH private key to the ssh-agent. If you created your key with a different name, or if you are adding an existing key that has a different name, replace id_rsa in the command with the name of your private key file.
$ssh-add ~/.ssh/id_rsa

The result if you choose default key name and folder:

Make sure the known_hosts file contains an entry for your github or bitbucket server

+ (Additional Information 4) Add the public key ( content) to your Github account.

3/ Automation Engine side:
Open UC_CLIENT_SETTINGS Variable and add the following keys:

+  REMOTE_REPOSITORY_URL - Setup the Github URL:
[email protected]:githubusername/yourgithubrepo.git



In case you are using Bitbucket, please define it as follows:

ssh://[email protected]_server:bitbucket_port/username/yourbitbucketrepository.git

+ REPOSITORY_SSH_DIR - Setup the SSH directory that have your newly created SSH key:
If this parameter is not specified, the default SSH folder of the user that start Automation Engine will be used.
In this example it will be: /home/uc/.ssh

4/ Access the Version Control functionality from the Process Assembly and initialize your Automation Engine Client (Create Branch) 

5/ The result in Github repo after you initialize your Automation Engine Client 


Additional Information

1/ In case you are using Oracle Database, make sure that ojdbc8.jar, xmlparserv2.jar,xdb6.jar is present in your lib folder of the JWP.
For more information: 

2/ Automation Engine Version Control Reference:

3/ Automation Engine key for SSH key directory:

4/ Create SSH key - Github guide