Trigger JiraIssuesTrigger on JiraIssues__c (after insert)
{
JiraIssuesTriggerHelper.jIRACreate (Trigger.new);
}
global class JiraIssuesTriggerHelper
{
@future (callout=true)
WebService static void jIRACreate (List issueList)
{
SetlistId = new Set();
for( JiraIssues ji: issueList){
listId.add(ji.Id);
}
//Set Credential variables:
String username = 'jirausername';
String password = 'jirapassword';
String availablejiraURL = ' http://availablejiraurl.com';
JiraIssues jiraIssue = [SELECT Summary__c, Description__c, Status__c FROM JiraIssues__C WHERE Id IN: listId];
String jiraIssuesummary = (String) s.get('Subject');
String jiraIssueDesc= (String) s.get(Description__c');
String jiraIssueStatus= (String) s.get(Status__C);
//Construct HTTP request and response
HttpRequest req = new HttpRequest();
HttpResponse res = new HttpResponse();
Http http = new Http();
//Construct Authorization and Content header
Blob headerValue = Blob.valueOf(username+':'+password);
String authorizationHeader = 'Basic ' + EncodingUtil.base64Encode(headerValue);
req.setHeader('Authorization', authorizationHeader);
req.setHeader('Content-Type','application/json');
//Construct Endpoint
String endpoint = availablejiraURL+'/rest/api/3/issue/';
//Set Method and Endpoint and Body
req.setMethod('PUT');
req.setEndpoint(endpoint);
req.setBody(
'{ \"fields\":{\"summary\": \"'+ jiraIssuesummary+'\", \"Status\":\"'+ jiraIssueStatus+'\", \"description\": \"'+ jiraIssueDesc+'\", }');
try {
//Send endpoint to Jira
res = http.send(req);
} catch(System.CalloutException e)
{
System.debug('ERROR:' + e);
System.debug(res.toString());
}
}