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.
0. [On Github] Define your organization and repositories related to this organization
1. [On Github] Create Application on your Github's organization
Creation
First of all, from your organization, create an application via “Settings”.
-
Select “Developper settings” -“Github Apps”
-
Define the name and the 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:
-
🔒Webhooks: to manage the post-receive hooks for a repository.
-
Define the scope on which this application is authorized
Installation of your application
Go to Github apps menu from your organization
In the example below, the application will be installed and authorized on your organization “iTopMasterOrg”
Define Private key
Once you have registered your request, you will be asked to create
a private key.
You've now created the application “MyAppOrgForiTopCommunity” (with its application ID) under the Github organization “iTopMasterOrg” and obtained the private key.
2. [On iTop] Create Connector and VCS Webhook
[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
-
A name for your iTop connector
-
The Github organization linked to your application
-
The application id of Github application
-
The private key generated on Github
-
The tab “Webhooks” will be filled automatically when you will create and attach your webhook to the connector
[VCS Webhook]
General information about VCSWebhook
You will document
-
A label for your VCS Webhook
-
The connector you are using
This field is Read-Write in case you want to use your own secret key.
-
When the iTop webhook is created, you'll get the webhook URL defined to document in the webhook section on Github.
-
You will check if synchronisation is working between Github and iTop. Don't forget to activate your cron as synchronisation is done through background tasks.
-
Link your VCS Webook to, at least, one automation rule. Three automations rules are proposed with the installation of the extension. Up to you to update them or create new ones.
3. [On Github] Document Webhook URL on application
Update your newly created “MyAppOrgForiTopCommunity” application
and go to the Webhook section. Set the webhook URL provided by your iTop VCS
Webhook.
You need, now, to link automation rules to your webhook : Link automation rules
4. Miscellaneous
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 |