Overview
What does the integration offer?
Use the Freshservice Integration to forward Freshservice alerts to Jira Service Management. Jira Service Management determines the right people to notify based on on-call schedules– notifies via email, text messages (SMS), phone calls, and iOS & Android push notifications, and escalates alerts until the alert is acknowledged or closed.
How does the integration work?
When a new ticket is created in Freshservice, an alert is automatically created in Jira Service Management through integration.
When the status of a triggered event is changed from 2 or 3 to 4 or 5, Jira Service Management automatically closes the alert.
If Send alert updates back to Freshservice is selected, actions for Freshservice are run in Freshservice when a chosen action is run in Jira Service Management for alerts created by the Freshservice integration.
If Create Freshservice tickets for Jira Service Management alert is selected, actions for Freshservice are run in Freshservice when a chosen action is run in Jira Service Management for alerts with a different source than the integration itself.
For details on action mapping, see https://operations-help.atlassian.net/wiki/spaces/OPSHELP/pages/4259939/Integrate+with+Freshservice#Map-alert-actions.
Set up the integration
Freshservice is a bidirectional integration. Setting it up involves the following steps:
Add Freshservice integration
To add a Freshservice integration in Jira Service Management:
Go to your team’s operations page.
On the left navigation panel, select Integrations and then Add integration.
Run a search and select “Freshservice”.
On the next screen, enter a name for the integration.
Optional: Select a team in Assignee team if you want a specific team to receive alerts from the integration.
Select Continue.
The integration is saved at this point.
Expand the Steps to configure the integration section and copy the URL.
You will use this URL while configuring the integration in Freshservice later.
Select Turn on integration.
The rules you create for the integration will work only if you turn on the integration.
Instructions for new versions for Freshservice
From Admin > Workflow Automator, select New Automator and select Ticket.
Add a new event and set the following rules:
"Status Is Changed" From "Closed" To "Any Status" (for notifications on reopened tickets)
"Status Is Changed" From "Any Status" To "Close" (for notifications on closed tickets)
"Status Is Changed" From "Resolved" To "Any Status" (for notifications on reopened tickets)
"Status Is Changed" From "Any Status" To "Resolved" (for notifications on resolved tickets)
Add an Action for the event and select Trigger Webhook.
Paste the URL you copied while adding the integration in Jira Service Management into Callback URL.
Select "POST" for the request type, "JSON" for encoding, and "Simple" for content.
Select all the other fields in the content section.
Select Done.
Select Activate.
Add another event and set the following rule: "Note is Added" of type "Public" (for notifications on public notes)
10. Add an Action for the event and select Trigger Webhook.
11. Paste the URL you copied while adding the integration in Jira Service Management into Callback URL.
12. Select "POST" for the request type, "JSON" for encoding, and "Simple" for content.
13. Paste the JSON from here.
14. Select Done.
15. Select Activate.
16. Add another event and set the following rule: "Note is Added" of type "Private" (for notifications on private note).
17. Add an Action for the event and select Trigger Webhook.
18. Paste the URL you copied while adding the integration in Jira Service Management into Callback URL.
19. Select "POST" for the request type, "JSON" for encoding, and "Simple" for content.
20. Paste the JSON from here.
21. Select Done.
22. Select Activate.
Instructions for older versions of Freshservice UI
A Dispatch'r rule is needed to send Webhook notifications for new tickets, and an Observer rule to send notifications on ticket actions (such as add note, close, reopen, and so on).
Add Dispatch'r rule
On the Admin > Dispatch'r Rule screen, select Add rule.
Enter "JSM Create Alert" for the name.
In the actions section, select "Trigger Webhook" from dropdown.
Paste the URL you copied while adding the integration in Jira Service Management into Callback URL.
Select "POST" for the request type, "JSON" for encoding, and "Simple" for content.
Select all the other fields in the content section.
Select Save.
Add Observer rule
On the Admin > Observer Rule screen, select Add rule.
Enter “Jira Service Management Add Note Or Close Or Re-open" for the name.
In the When Any of these events occur section, add the following conditions in the given order:
"Status Is Changed" From "Closed" To "Any Status" (for notifications on reopened tickets)
"Status Is Changed" From "Any Status" To "Close" (for notifications on closed tickets)
"Status Is Changed" From "Resolved" To "Any Status" (for notifications on reopened tickets)
"Status Is Changed" From "Any Status" To "Resolved" (for notifications on resolved tickets)
"Note is Added" of type "Any" (for private and public note notifications)
In the perform these actions section, select "Trigger Webhook" from the dropdown.
Paste the URL you copied while adding the integration in Jira Service Management into Callback URL.
Select "POST" for the request type, "JSON" for encoding, and "Simple" for content.
Select all the other fields in the content section.
Select Save.
Map alert actions
Define mappings between Jira Service Management actions and Freshservice actions.
For alerts created by Freshservice
In the Send alert updates back to Freshservice section, map Jira Service Management actions to Freshservice actions when the alert source is Freshservice (the alert is created by the integration itself). For example, you can add a public comment to the Freshservice ticket when the alert is acknowledged. To do this, define If alert is acknowledged in Jira Service Management, a public comment to the ticket in Freshservice.
For the other Jira Service Management alerts
In the Create Freshservice tickets for Jira Service Management alerts section, map Jira Service Management actions to Freshservice actions when the alert source is NOT Freshservice (the alert source is some other integration).
Map one Jira Service Management action to create a ticket in Freshservice action. The Jira Service Management action does not have to be alert is created; you can select from a list of Jira Service Management actions for this mapping. However, this rule won’t work if you use SSO to log in to Freshservice.
The actions a tag is added to the alert and a custom action is executed on alert slightly differ from the rest of the actions. When you select either, you will see an extra field to specify for which tag or for which custom action this mapping should work.
You can enter multiple comma-separated tags. If you enter multiple tags, the mapping will work if the alert has one or more of the specified tags. Leave the tags field empty if you want the mapping to work for any tag.
If you map a Jira Service Management action to multiple Freshservice actions, you will get an error except for the a tag is added to the alert and a custom action is executed on alert actions. You can save multiple mappings for these actions because they will differ by the given tags and the given custom action names.
Sample payload sent from Freshservice
Sample payload (in JSON format)
{
"freshdesk_webhook": {
"ticket_id": "INC-3",
"ticket_subject": "trial",
"ticket_description": "Test ticket",
"ticket_url": "https://jsm.freshservice.com/helpdesk/tickets/3",
"ticket_public_url": "https://jsm.freshservice.com/public/tickets/cfc13eb4a143ef632d219870a11ee6cd",
"ticket_portal_url": "https://jsm.freshservice.com/support/tickets/3",
"ticket_due_by_time": "Thu, 27 Aug, 2015 at 3:36 PM GMT +0300",
"ticket_tags": "tag1, tag",
"ticket_latest_public_comment": null,
"ticket_group_name": "grp1",
"ticket_agent_name": "agent1",
"ticket_agent_email": "agent1@asd.com",
"ticket_satisfaction_survey": "asd",
"ticket_department_name": "Customer Support",
"approval_url": null,
"approval_portal_url": null,
"ticket_status": "Open",
"ticket_priority": "Low",
"ticket_source": "Phone",
"ticket_type": "Incident",
"ticket_requester_name": "Tuba Ozturk",
"ticket_requester_firstname": "Tuba",
"ticket_requester_lastname": "Ozturk",
"ticket_requester_email": "tubaozturk92@gmail.com",
"ticket_requester_phone": "1234",
"ticket_requester_address": "",
"helpdesk_name": "jsm",
"triggered_event": "{ticket_action:created}"
}
}
Jira Service Management parses this payload as follows:
Parsed payload (in JSON format)
{
"ticket_id" : "2",
"subject" : "test subject",
"description" : "test deskripsiyon",
"url" : "2",
"portal_url" : "https://jsm.freshdesk.com/support/tickets/2",
"due_by_time" : "March 23 2016 at 10:06 AM",
"tags" : [
"tag1", "tag2"
],
"latest_public_comment" : "pablik",
"group_name" : "Product Management",
"agent_name" : "eycint",
"agent_email" : "agent1@asd.com",
"satisfaction_survey" : "test data",
"status" : "Open",
"priority" : "Medium",
"source" : "Phone",
"ticket_type" : "Incident",
"requester_name" : "halit okumus",
"requester_first_name" : "halit",
"requester_last_name" : "Incident",
"requester_phone" : "1222",
"requester_address" : "adres",
"company_name" : "jsm",
"company_description" : "compa desc",
"company_note" : "compnot",
"helpdesk_name" : "jsm",
"event_type" : "Create"
}
See also
Explore integration types
Explore integration actions
Add integration rules
Add Comment