Integrating your MettleCI Workbench with ServiceNow will enable you to…
...
MettleCI Workbench to perform a dynamic lookup when linking DataStage Git
...
commits to one or more ServiceNow work items directly within the Workbench user interface. It is a two-step process, there are some items to configure and collect from the ServiceNow instance, and then some items to configure in Workbench.
...
Register Workbench as an OAuth2 ServiceNow Application
Setup OAuth in
...
your ServiceNow instance.
Create a new OAuth API endpoint for Workbench to access ServiceNow:
...
Set the “Name” Field to “MettleCI Workbench” and the “Redirect URL” to
https://<workbench url>:
...
<port>/api/auth/delegated/
...
<N>
where<workbench url>
is the URL of your Workbench installation (usually your Development engine),<port>
is the https port you are running on (often but not always 8443, check your<config.yml
file if unsure), and<N>
is the index of the WIM you plan to add (the default generic is 0 and if this is the first other WIM you are adding, the value here would be 1) and click “Submit”:
...
Record the redirect URL for later use so you don’t have to derive it again. If your organization has installed multiple MettleCI Workbench
...
applications, you can add them all to the same ServiceNow Application Registration by adding multiple Redirect URLs. (comma separated)
Info |
---|
Note that some ServiceNow instance connections may not function properly if your workbench instance is using a self signed certificate. The submission shown here will save successfully but runtime errors happen when trying to query work items from MettleCI Workbench. If this occurs you will need to reconfigure your Workbench instance to use a CA signed certificate. |
Click on your newly created Application Registration:
...
Note down the “Client ID” and “Client Secret” field properties for later use:Anchor ServiceNowRegisterConfig ServiceNowRegisterConfig
...
...
If you are starting Workbench for the first time, you will be taken through a setup wizard. You can configure your ServiceNow work item lookup in the setup wizard.
Alternatively, log into your MettleCI Workbench server and open /opt/dm/mci/config.yml
in your favorite editor and follow the next three steps.
Change the issueManagement
property to serviceNow
, add an serviceNow
section as shown below and replace the <tags>
with the values noted in the previous steps:
Code Block | ||
---|---|---|
| ||
issueManagement: serviceNow
serviceNow:
url: <your ServiceNow instance URL>
clientId: <your Client ID>
clientSecret: "<your Client Secret>" |
Add at least one ServiceNow Table to search during Work Item lookup:
...
Note that the example shows http://
because it is the automatically supplied default value, but your URL will most likely need to be https://
. You’re ServiceNow portion of the configuration is now complete.
Configuring MettleCI Workbench Work Item Lookup with ServiceNow
Access the MettleCI Workbench page to integrate with your ServiceNow Work Item Management system by logging in to MettleCI Workbench and select Issue Management from the Profile menu (top right)
On the Registered Issue Management Systems screen select the “+” to create a new Issue Management type.. Initially you will have only the “Default Generic Issue Manager” present, but you can add as many as you need to (including more than one of the same type if necessary) one at a time. It is recommended that you get one working before you add another.
On the Add Issue Management screen that appears
select ServiceNow from the Select Issue Management Type dropdown
...
and click Next
4. On the Register ServiceNow Issue Management screen that appears next, enter the following values and click Submit:
...
Field list
Name: Anything you like, but something that identifies your ServiceNow organisational instance would be a sensible choice
URL: The URI of your ServiceNow instance recorded earlier.
Client ID: Your Application (client) ID recorded earlier
Client Secret: Your client secret recorded earlier
Search Queries: This has no default, you will need to create at least one query. Consult with your ServiceNow administrators to determine what table(s) your organization uses, and thus, what table(s), then add or edit the query or queries as needed by using the “pencil” icon and “+” icon to edit what is queried or add a new table to query, respectively. The example dialog below uses incident as the table, keyed on ${number} with ${number}: ${short_description} as the summary shown to the user.
OPTIONAL - In the Search Queries section of any query, you can add add a filter expression to limit what is returned. Note that this expression is not checked for correct syntax. Consult with your ServiceNow administrators to determine whether you need to filter (most organizations will not) and what columns/values to filter on. The example dialog below includes a filter on the status column, which limits the result to rows where the value of the column is “Active” Leave this field empty if you do not wish to filter results.
...
Info |
---|
Search queries use ${ } to represent column values. Other characters, if any, are reproduced as is. The filter, on the other hand, takes the column name and a literal without any enclosing ${ }. |
Submit
(Save) the newly registered ServiceNow issue management system.
Info |
---|
|
...
Expand | ||
---|---|---|
| ||
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
Restart the workbench service
Code Block |
---|
sudo service dm-mettleci-workbench restart |
Template Strings are text containing special |
5. You can now select your new ServiceNow WIM for any existing or new project.
From the Registered Projects
page, select an existing project for editing via the pencil icon:
...
At the bottom there is a dropdown to let you select from all currently configured types of Work Item Management
...
Select myServiceNow
(or whatever you named your connection) from the available options …
...
… and then select Update Project. Change all existing projects that you want to use ServiceNow with, as desired.
6. ServiceNow work items will be available from
...
the Issues drop down on the Git Commit page during Check-in for projects using it:
...
This last step concludes your ServiceNow integration!