struct _httpResult { boolean success; string message; string data; } string serverUser = getPersistentVar("serverUser"); string serverPass = getPersistentVar("serverPass"); string cloudUser= getPersistentVar("cloudUser"); string cloudPass = getPersistentVar("cloudApiToken"); string authString = "Basic " + base64Encode(cloudUser + ":" + cloudPass); function generateRequest(string type) { HttpRequest request; HttpHeader header = httpCreateHeader("Content-Type", "application/json"); request.headers += header; if(type == "SERVER") { HttpHeader authHeader = httpBasicAuthHeader(serverUser, serverPass); request.headers += authHeader; } else { HttpHeader header2 = httpCreateHeader("Authorization", authString); request.headers += header2; } return request; } function genericRestCall(string url, string method, string data, HttpRequest request) { _httpResult result; if(method == "GET") { result.data = httpGet(url, request); } else if (method == "PUT") { result.data = httpPut(url, request, data); } else if (method == "DELETE") { result.data = httpDelete(url, request, data); } else if (method == "PATCH") { result.data = httpPatch(url, request, data); } else { result.data = httpPost(url, request, data); } number statusCode = httpGetStatusCode(); if (statusCode >= 200 && statusCode < 300) { result.success = true; } else { string msg = "URL: " + url + " <br /> {" + trim(statusCode) + " : " + httpGetErrorMessage() + " : " + httpGetReasonPhrase() + "}"; result.success = false; result.message = msg; } return result; }
Use
_httpResult result = genericRestCall(jiraUrl+"/rest/api/3/issue/"+key+"/properties/powerscripts.custom.property.number.1", "GET", data); if(result.success == true) { alert = fromJson(replace(result.data, "-", "_")); logger("Success:"+result.data,3); logger("Alert is:"+alert.value,3); } else { logger(key+" - Error getting alert for the ticket/user",1); logger(key+" ERROR =>"+result.message,1); }