...
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); |
...