Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
//This code is used to create Jira Issue from servicenow
(function executeRule(current, previous /*null when async*/ ) {

    try {
        // Add your code here
        var request = new sn_ws.RESTMessageV2('10_CloudJiraIssueSync', 'create_cloud_issue');
		request.setRequestHeader("Authorization", "Basic "+Base 64 token); // Base 64 token can be generated like this ${Email}:${API Key}
		
        var sourceData = "JiraCloudServiceNowIntegrationCreateIssue";

        var jira_issue_id = "10020"; // Jira issue type id we can get it from Jira
        var jira_project_key = "CUS"; // Jira project key we can get it from Jira
        var incident_number = current.number;
        var incident_sysId = current.sys_id;
        var incident_short_description = current.short_description;
        gs.log("The incident_short_description" + incident_short_description, sourceData);

        request.setEndpoint(request.getEndpoint());
        gs.log("##The End Point :" + request.getEndpoint(), sourceData);

        var currentIssueKey = current.u_jira_issue_key;
        var currentDescription = current.description.replace(/\n|\r/g, " ");

        var currentShortDesc = current.short_description.getDisplayValue();
        var requestBody = {
            "fields": {
                "summary": currentShortDesc,
                "issuetype": {
                    "id": jira_issue_id
                },
                "customfield_10033": incident_number.toString(),  //this is the customfield from Jira we have created to store the number "SN NUmber"
                "customfield_10034": incident_sysId.toString(),   //this is the customfield from Jira we have created to store the sysid "SN SysId"
                "project": {
                    "key": jira_project_key
                },
                "description": {
                    "type": "doc",
                    "version": 1,
                    "content": [{
                        "type": "paragraph",
                        "content": [{
                            "text": currentDescription,
                            "type": "text"
                        }]
                    }]
                }
            }
        };

        gs.log("The request body :" + JSON.stringify(requestBody), sourceData);
        request.setRequestBody(JSON.stringify(requestBody));
        var response = request.execute();
        var httpStatus = response.getStatusCode();
        var httpResponseBody = response.getBody();
        var responseObject = JSON.parse(httpResponseBody);
        gs.log("The Response Body #:" + httpResponseBody, sourceData);
        current.u_jira_issue_key = responseObject.key;
        current.update();
        gs.log("####END OF INCIDENT UPDATE####", sourceData);
    } catch (ex) {
        var message = ex.message;
        gs.log("The error message " + message, sourceData);

    }


})(current, previous);

Note: You need to can reach out to your ServiceNow team who can help you to configure the above steps in ServiceNow. If you need our help, you can reach out to us for paid professional services (atlassian@empyra.com).

...