Am Integrating salesforce with Jira.I want to save the Jira Id in salesforce in which i created a custom field in CaseObject.Can you please provide me solution for it...??
Here is my code..
global class JiraIntegration{
@future(callout=true)
public static void CreateIssueinJIra(String objectType,String projectKey,String issueType,string summary,string description){
new JiraIntegration(objectType,id,projectKey,issueType,summary,description);
}
public string summary;
public string description;
public JiraIntegration(){
}
//Change values in this class according to you JIRA/Salesforce coordinates.
public String baseUrl = 'https://JIraURl/rest/api/2/issue/'; // Base URL of your JIRA instance
public String username = 'abc'; // JIRA username
public String password = 'xxx'; // JIRA password
// Constructs Basic Http Authentication header from provided credentials
public String authHeader(){
Blob headerValue = Blob.valueOf(username+':'+password);
return 'Basic ' + EncodingUtil.base64Encode(headerValue);
}
public JiraIntegration(String objectType,String projectKey,String issueType,string summary,string description){
HttpRequest req = new HttpRequest();
Http http = new Http();
req.setMethod('GET');
//Set HTTPRequest header properties
req.setHeader('Accept', 'application/json');
req.setHeader('Content-Type','application/json');
Blob headerValue = Blob.valueOf(username+':'+password);
req.setHeader('Authorization','Basic '+ EncodingUtil.base64Encode(headerValue));
req.setEndpoint(baseUrl);
String CreateIssueinJIraJson= '{"fields": {"project":{"key": "ab"},"summary":"'+ +'","description":"'+ +'" ,"issuetype":{"name": "Bug"}}}';
String JSONData = JSON.serializePretty(CreateIssueinJIraJson);
req.setBody(CreateIssueinJIraJson);
system.debug('after response....'+CreateIssueinJIra);
try{
//Execute web service call here
HTTPResponse res = http.send(req);
String ResponseJsonString = res.getBody();
}
catch(System.CalloutException e){
System.debug('Callout error: '+ e);
}
}
}