Connection between Github and iTop using App Authentication (VCS Integration)
To configure this extension, you'll need to follow the configuration steps on both Github and iTop sides.
Note: This step is only necessary once.
1. [On Github] Create Application
Creation
First of all, create an application under your user or company, via “Settings”.
-
Select “Developper settings”
-
Select “Github Apps”
-
Define the name and URL of your application
-
Uncheck the webhook url box (you'll fill it in later when iTop provides you with the url to specify)
Apply rights
Certain authorizations will be required for iTop:
-
🔒Contents: repository contents, commits, branches, downloads, releases, and merges.
-
🔒Webhooks: to manage the post-receive hooks for a repository.
-
Define the scope on which this application is authorized
In the example below, the application will be authorized on all iTopMaster login repositories
Define Private key
Once you have registered your request, you will be asked to create
a private key.
You've now created the application “iTopProIntegration” (with its application ID) under the Github user “iTopMaster”, linked the repositories and obtained the private key.
2. [On iTop] Create Connector and repository
[Connector]
General information about Connector
You will now create a connector to communicate with Github.
Go to submenu of the standard Configuration menu -
VCS Management -
Connector
You will document
-
The Github login or company linked to your application
-
The application id of Github application
-
The private key generated on Github
-
The tab repositories will be filled automatically when you will create and attach your repository to the connector
[Repository]
General information about Repository
You will document
-
The Github repository
-
The connector you are using
This field is Read-Write in case you want to use your own secret key.
-
When the iTop repository is created, you'll get the webhook URL defined to document in the webhook section on Github.
-
Link your repository to, at least, one automation rule
-
Check if you synchronisation is working between Github and iTop repositories.
As soon as your iTop repository is synchronized with Github, you'll see the Github information at the bottom of the window.
3. [On Github] Document Webhook URL on application
Update your newly created “iTopProIntegration” application and
go to the Webhook section. Set the webhook URL provided by your iTop
repository.
Now that the connections have been set up, all that remains is to create or link the automation.
If you need to override the app_root URL (your development VM isn't directly connected to the Internet, for example), you'll need to define parameters to override the default settings in the configuration file.
- Configuration
-
'combodo-vcs-integration' => array ( 'webhook_user_id' => 26587, 'synchro_auto_interval' => 60, 'webhook_host_overload' => 'cn64-76-2-185-442.ngrok-free.app', 'webhook_scheme_overload' => 'https', ),
Parameter | Meaning | Default |
---|---|---|
webhook_user_id | An optional iTop user to be attached to automation runs | NULL |
synchro_auto_interval | The periodicity, in second, at which the repositories are synchronized, when automatic mode is used | 60 * 60 * 24 (every day) |
webhook_host_overload | The host to be used by VCS webhooks instead of the default host specified in app_root_url | NULL |
webhook_scheme_overload | The connection scheme to be used (http or https) by VCS webhooks instead of the default scheme specified in the app_root_url | NULL |