FlexDeploy change management systems integration (out of box or custom) can be configured globally for use by various Projects or Pipelines. Configurations can be overridden at the Application, Folder or Pipeline (external approval gate) levels as necessary.
To configure the integration at the Global level, select the Administration->Change Management Systems menu item.
Select a particular change management system by clicking its name, or by selecting the row and clicking on the Edit button. To create a new Change Management System click the New button.
You can the update name, description and Java implementation for custom integrations, whereas, only the description may be modified for out of the box integrations).
Field Name | Required | Description |
---|---|---|
Id | Yes | System generated identifier (read-only). |
Name | Yes | Name of the change management system. (read-only for out of box integrations) |
Description | No | Description of the change management system. |
Java Implementation | Yes | Java Implementation class for the change management integration. (read-only for out of box integrations) |
Ticket Fields
A change management "ticket" is the generic term for a change object, which may be referred to as a "change request" or another term by a particular provider. Every provider has different fields (or attributes) within the ticket, and most often supports decorating the object with your own custom fields. The Ticket Fields tab provides the metadata data describing the relevant fields for a the provider implementation.
To add a new ticket field, click on the Create button and enter the required Field Code, Display Name, Description, Data Type, and whether or not a value is required in order to create a new CMS Ticket.
For ServiceNow, Remedyforce, and Freshservice there a number of out of he box fields which are made available for you by default. These out of the ox fields cannot be removed.
The Field Code must match the unique identifier as defined by the provider (e.g. JSON attribute names returned form the provider's REST API).
ServiceNow Ticket Fields
Field Code | Display Name | Description | Data Type | Required |
---|---|---|---|---|
short_description | Short Description | A short description for the change ticket | String | No |
description | Description | A description for the change ticket | String | No |
state | State | String | No | |
sys_class_name | Sys Class Name | String | No | |
approval | Approval | String | No | |
start_date | Planned Start Date | String | No | |
end_date | Planned End Date | String | No | |
closed_by | Closed By | String | No | |
impact | Impact | String | No | |
priority | Priority | String | No | |
risk | Risk | String | No | |
requested_by | Requested By | String | No | |
assignment_group | Assignment Group | String | No | |
assigned_to | Assigned To | String | No | |
category | Category | String | No | |
cmdb_ci | CI | String | No | |
type | Type | String | No |
BMC Remedyforce Ticket Fields
Field Code | Display Name | Description | Data Type | Required |
---|---|---|---|---|
BMCServiceDesk__Change_Description__c | Change Description | A description for the change ticket | String | No |
BMCServiceDesk__Reason_for_Change_Details__c | Change Details |
Freshservice FreshDesk Ticket Fields
Field Code | Display Name | Description | Data Type | Required |
---|---|---|---|---|
subject | Subject | A subject for the change ticket | String | No |
description | Description | A description for the change ticket | String | No |
change_type | Change Type | Long | Yes | |
status | Status | Long | Yes | |
priority | Priority | Long | Yes | |
impact | Impact | Long | Yes | |
requester_id | Requester Id | Long | Yes | |
risk | Risk | Long | Yes | |
planned_start_date | Start Date | String | Yes | |
planned_end_date | End Date | String | Yes |
Default Configuration
The Default Configuration tab allows global configuration for the CMS integration, which defines whether a ticket is required for deployment requests or whether tickets should be automatically created. When creating tickets automatically as part of a deployment request, default values can be provided for one or more of the ticket fields.
The Default Configuration tab provides configuration for the Global scope, meaning it applies to all deployment system-wide. One or more of these options may be selected.
- Require Change Ticket for Deployment - When submitting deployment requests, a user is required to specify a valid Change Management Ticket number.
- Create Change Ticket on Deployment - When a deployment request is submitted, a Change Ticket is automatically created within Change Management System.
When choosing Create Change Ticket on Deployment you have the option of providing a Groovy expression to calculates values for specific fields using a number of context variables.
Since the field values are Groovy expressions, String values must be entered in double quotes.
All Groovy script fields have access to the following variables, and can be selected using the drop-down on the right side of the field:
Field | Description |
---|---|
EnvironmentName | The name of the target environment. |
PackageName | The package name requested for deployment. Same as ProjectVersion for full deployments. |
ProjectName | The name of the project requested for deployment. |
ProjectVersion | The project version which was requested for deployment. |
StreamName | The stream from which the project version was built from. |
WorkflowRequestor | The FlexDeploy username which requested the deployment. |
Example Groovy expressions
- "Deployment request to " + EnvironmentName + " for project " + ProjectName + " by " + WorkflowRequestor
- "Deployment for " + ProjectName + " failed in " + EnvironmentName
- "Simple String"
If you will be creating CMS Tickets per project/package in a pipeline external approval gate EnvironmentName is the only Groovy variable that is applicable since the context is not related to a particular workflow request. The other variables will resolve to an empty String in that case.
Environment Configuration
Likewise, the Environment Configuration tab allows overriding these settings globally, by environment (e.g require a change ticket for Production deployments only). Click the Add button to add a new configuration, and select an environment. This overrides any configuration on the Default Configuration tab for the selected environment.
The remaining configuration options are exactly as defined for the Default configuration. Optionally, click the Add button again to add configuration for other environments.
Properties
The Properties tab lists the metadata which is required for this Change Management System. Values for these properties will be provided when you create a Change Management Instance in the topology. See Creating/Editing a Change Management Instance, Property metadata is read-only for out of box integrations.
ServiceNow Properties
Key Name | Display Name | Description | Data Type | Required | Encrypted |
---|---|---|---|---|---|
SN_URL | ServiceNow URL | ServiceNow URL | String | Yes | No |
SN_PORT | ServiceNow Port | ServiceNow Port | String | No | No |
SN_USER_NAME | ServiceNow User Name | ServiceNow User Name | String | Yes | No |
SN_PASSWORD | ServiceNow Password | ServiceNow Password | String | Yes | Yes |
SN_APPROVED_SCRIPT | Approved Check Script | ServiceNow approved check Groovy script | String | No | No |
SN_REJECTED_SCRIPT | Rejected Check Script | ServiceNow rejected check Groovy script | String | No | No |
SN_DONT_POLL | Don't poll | Disable automatic polling (every minute) of ServiceNow tickets for status changes. Check if using REST API to communicate status changes to FlexDeploy. | Boolean | No | No |
BMC Remedyforce Properties
Key Name | Display Name | Description | Data Type | Required | Encrypted |
---|---|---|---|---|---|
FDBMCHR_URL | BMC Helix Remedyforce URL | BMC Helix Remedyforce Instance URL (https://<instance_name>.salesforce.com) | String | Yes | No |
FDBMCHR_USER_NAME | BMC Helix Remedyforce User Name | BMC Helix User Name | String | Yes | No |
FDBMCHR_PASSWORD | BMC Helix Remedyforce Password | BMC Helix Remedyforce Password | String | Yes | Yes |
FDBMCHR_CLIENT_ID | Client Id | Connected App Client Id | String | Yes | Yes |
FDBMCHR_CLIENT_SECRET_ID | Client Secret | BMC Helix Remedyforce Client Secret | String | Yes | Yes |
FDBMCHR_APPROVED_SCRIPT | Approved Check Script | BMC Helix approved check Groovy script | String | No | No |
FDBMCHR_REJECTED_SCRIPT | Rejected Check Script | BMC Helix rejected check Groovy script | String | No | No |
FDBMCHR_DONT_POLL | Don't poll | Disable automatic polling (every minute) of BMC Helix tickets for status changes. Check if using REST API to communicate status changes to FlexDeploy. | Boolean | No | No |
FDBMCHR_SOBJECT_URL | Specified Object URL | Object Name URL (/services/data/vXX.X/sobjects/{OBJECT_NAME}) | String | Yes | No |
FDBMCHR_INCIDENT_CATEGORY_ID | Category Id | Category FK Id (e.g a216g0000005NvDAAU) | String | Yes | No |
Freshservice FreshDesk Properties
Key Name | Display Name | Description | Data Type | Required | Encrypted |
---|---|---|---|---|---|
FDFS_URL | Freshservice URL | Freshservice URL (https://<your_helpdesk_domain_name>.freshservice.com) | String | Yes | No |
FDFS_API_KEY | Freshservice API Key | API key for Freshservice | String | Yes | Yes |
FDFS_APPROVED_SCRIPT | Approved Check Script | Freshservice approved check Groovy script | String | No | No |
FDFS_REJECTED_SCRIPT | Rejected Check Script | Freshservice rejected check Groovy script | String | No | No |
FDFS_DONT_POLL | Don't poll | Disable automatic polling (every minute) of Freshservice tickets for status changes. Check if using REST API to communicate status changes to FlexDeploy. | Boolean | No | No |
FDFS_REQUESTER_ID | Freshservice Requester Id | Freshservice agent id for API access(should be a number) | String | No | No |