Freshservice Integration

Freshservice integration requires a user with a API key with enough permissions and Requester Id to create Change Requests and Incidents. The following steps will assist you getting the integration user agent details from Freshservice to setup in FlexDeploy.

API KEY

Log into https://<domainname>.freshservice.com.

  • Click the profile icon

  • Click Profile Settings.

The API key will be encoded using base64 before used in the request to get change request or create any new request

Requester Id

The Requester Id which is the id of the user. The id is in the agent url. Browse for the agent in the UI and get it from the URL of the page that you are on.

Roles

To assign the correct role for the integration agent, please follow the below steps

  • From the home screen, click the Admin

  • Under User Management, click the Agents

  • Select the agent setup for FlexDeploy integration

  • Click Edit Agent

  • Scroll down to Roles section and click Associate Roles. Use Problem Manager (Out of Box) role which elevates the user to create Change Request and Incident as well. If there is any custom roles setup in your organization, you can use that as well. Please make sure the role has access to create Change and Incident.

Now setup this user in FlexDeploy and you are all set.

Freshworks Freshservice Instance Properties

Property

Type

Description

Property

Type

Description

Freshservice URL

String

Freshservice URL (https://<your_helpdesk_domain_name>.http://freshservice.com )

Freshservice API Key

String

API key for Freshservice

Note that encrypted properties are stored in Credential Store (Local or External) and can be configured using Edit button next to credential name drop down. Alternatively, you can reuse single credential for multiple properties also, in which case you should name that credential appropriately.

Approved Check Script

String

A Groovy expressions which determines whether a task for the change ticket is approved or not.  The expression must return a boolean, and has access to the following variables:

  • TICKET - an object with fields (JSON) contained in the change ticket, as returned by the Freshservice REST API.  Fields are referenced as TICKET.<field name>.<sub-field name>

  • FD_ENVIRONMENT_CODE - The environment for a particular deployment request or associated pipeline stage.

If you want to see values that can be used, enable FINEST log level for flexagon.fd.model.integration.cms.CMSScript using Admin Operations.

Rejected Check Script

String

A Groovy expressions which determines whether a task for a change ticket is rejected or not.  The expression must return a boolean, and as has access to the following variables:

  • TICKET - an object with fields (JSON) contained in the change ticket, as returned by the Freshservice REST API.  Fields are referenced as TICKET.<field name>.<sub-field name>

  • FD_ENVIRONMENT_CODE - The environment for a particular deployment request or associated pipeline stage.

Additional Info Script

String

A Groovy expression which determines additional information to add to an external approval when it is approved or rejected.  The expression must return a Map<String, String> and have an entry with the key of "notes" for the value to get added to external approval as a task note. Script has access to the following variables:

  • TICKET - an object with fields (JSON) contained in the change ticket, as returned by the ServiceNow REST API.  Fields are referenced as TICKET.<field name>.<sub-field name>

  • FD_ENVIRONMENT_CODE - The environment for a particular deployment request or associated pipeline stage.

Don't poll

Boolean

Disable automatic polling (every minute) of Freshservice tickets for status changes. Check if using REST API to communicate status changes to FlexDeploy.

Freshservice Requester Id

String

Freshservice agent id for API access(should be a number)

Freshworks Freshservice Ticket Fields

Field Code

Display Name

Description

Data Type

Required

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

e.g. 2

Long

Yes

status

Status

e.g. 2

Long

Yes

priority

Priority

e.g. 2

Long

Yes

impact

Impact

e.g. 2

Long

Yes

requester_id

Requester Id

e.g. 21000602644

Long

Yes

risk

Risk

e.g. 2

Long

Yes

planned_start_date

Start Date

e.g. "2022-09-22T19:24:50Z"

String

Yes

planned_end_date

End Date

e.g. "2022-09-22T19:24:50Z"

String

Yes

The following macros are not currently supported in the footer:
  • style