Skip to end of banner
Go to start of banner

Generic HTML request

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

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);
    }
  • No labels