HP ALM REST API Reference version 12.50
Get Collection Example
Javascript example
Copy Code
// get_Collection.js

function performGetCollection(prepareCollection){
    console.log(">>performGetCollection was called...");
    // create 5 new defects
    if (prepareCollection == true){
        for (i=0; i < 5; i++){
            postNewDefect("defect - " + i); // see CRUD_Instance.js
        }
    }

    // get defect entities
    var collection = getEntities("defect");
    printCollection(collection);
    
    // get filtered defect entities
    collection = getEntitiesByQuery("defect", "name='defect - 1' || name='defect - 3' ");
    printCollection(collection);
    console.log(">>performGetDefects end.");
}

function performGetListItems() {
    console.log(">>performGetListItems was called...");

    // get list-item entities
    var collection = getEntities("list-item");
    printCollection(collection);

    // get filtered list-item entities
    collection = getEntitiesByQuery("list-item", "name='1*'%26id<1000");
    printCollection(collection);

    // get list-item entities with selected fields
    collection = getEntitiesWithSelectedFields("list-item", "id");
    printCollection(collection);

    // get list-item entities with selected fields
    collection = getOrderedEntities("list-item", "name,-id");
    printCollection(collection);
    console.log(">>performGetListItems end.");
}

function getEntities(type)
{
    var entities;
    console.log("getEntities was called...");
    var req = new XMLHttpRequest();
    req.open("GET", alm_project_url + "/" + type + "s/", false);
    req.setRequestHeader("Accept", "application/json");
    
    req.onreadystatechange = function(){
        // if state is "complete"
        if (req.readyState == 4) {
            // & response status is "OK"
            if (req.status == 200){
                entities = JSON.parse(req.responseText);
            } else {
                console.log("Failed. Response status:" + req.statusText);
            }
        }
    }
    
    req.send();
    console.log("getEntities end.");
    return entities;
}

function getEntitiesByQuery(type, query)
{
    var entities;
    console.log("getEntitiesByQuery was called...");
    var req = new XMLHttpRequest();
    req.open("GET", alm_project_url + "/" + type + "s/?query=\"" + query + "\"", false);
    req.setRequestHeader("Accept", "application/json");
    
    req.onreadystatechange = function(){
        // if state is "complete"
        if (req.readyState == 4) {
            // & response status is "OK"
            if (req.status == 200){
                entities = JSON.parse(req.responseText);
            } else {
                console.log("Failed. Response status:" + req.statusText);
            }
        }
    }
    
    req.send();
    console.log("getEntitiesByQuery end.");
    return entities;
}

function getEntitiesWithSelectedFields(type, selectedFields) {
    var entities;
    console.log("getEntitiesWithSelectedFields was called...");
    var req = new XMLHttpRequest();
    req.open("GET", alm_project_url + "/" + type + "s/?fields=" + selectedFields, false);
    req.setRequestHeader("Accept", "application/json");

    req.onreadystatechange = function(){
        // if state is "complete"
        if (req.readyState == 4) {
            // & response status is "OK"
            if (req.status == 200){
                entities = JSON.parse(req.responseText);
            } else {
                console.log("Failed. Response status:" + req.statusText);
            }
        }
    }

    req.send();
    console.log("getEntitiesWithSelectedFields end.");
    return entities;
}

function getOrderedEntities(type, ordering) {
    var entities;
    console.log("getOrderedEntities was called...");
    var req = new XMLHttpRequest();
    req.open("GET", alm_project_url + "/" + type + "s/?order-by=" + ordering, false);
    req.setRequestHeader("Accept", "application/json");

    req.onreadystatechange = function(){
        // if state is "complete"
        if (req.readyState == 4) {
            // & response status is "OK"
            if (req.status == 200){
                entities = JSON.parse(req.responseText);
            } else {
                console.log("Failed. Response status:" + req.statusText);
            }
        }
    }

    req.send();
    console.log("getOrderedEntities end.");
    return entities;
}

function printCollection(collection){
    console.log("entities:");
    console.log("    total-count:" + collection["total-count"]);
    console.log("    actual-count:" + collection["data"].length);
    for (i=0; i < collection["data"].length; i++){
        var entity = collection.data[i];
        console.log("entity : {id=" + entity.id + ", name=" + entity.name + ", type=" +entity.type + "}");
    }
}