Versions Compared

Key

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

...

Step1: Create the Outbound Message

...


Step 2: Create HTTP method to

...

Create Issue:

As shown in below screenshot, Click New

...

Click on Advanced Tab-> Enter the update script ( Please refer the sample script to update the fields from ServiceNow to Jira Cloud)\

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'); // rest message and name which we have created needs to be added here.
		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 is hardcorded for one issuetype
        var jira_project_key = "CUS";; // Jira project key is hardcorded for one project
        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 Jira Key is #:" + responseObject.key, sourceData);
        gs.log("The Status Code #:" + httpStatus, sourceData);
        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);

...