logo

NJP

ServiceNow Update KBArticle With RITM Variable Values

Import · Jan 19, 2021 · article

Create a HTML output with RITM variables.

var variableJson = [];

var tableHTML = getHTMLvariables('1c1bac352f792010f101ad2ef699b682');// Pass RITM sysId

var htmlHeader = '

';

var htmlFooter = '
Variable
Value
';

var html = htmlHeader + tableHTML + htmlFooter;

gs.print(html);

updateKBArticle('28bc8c752f752010f101ad2ef699b627', html); // Pass knowledgebase ID and html to be used

function updateKBArticle(kbId,html) {

var grKB = new GlideRecord('kb_knowledge');

grKB.get(kbId); // KB article to be updated

grKB.text = html;

grKB.update();

}

function getHTMLvariables(ritmId) {

buildVariableJson(ritmId);

var tableHTML = buildTable(variableJson);

gs.print(tableHTML);

return tableHTML;

}

function buildTable(rowJson) {

var key = '';

var value = '';

var htmlTr = '';

//staticHTMLTrusage = '' + key + '' + value + '';

var staticHTMLTr1 = '';

var staticHTMLTr2 = '';

var staticHTMLTr3 = '';

for (var k = 0; k < rowJson.length; k++) {

key = rowJson[k].key;

value = rowJson[k].value;

htmlTr += staticHTMLTr1 + key + staticHTMLTr2 + value + staticHTMLTr3;

gs.print(htmlTr);

}

return htmlTr;

}

function buildVariableJson(reqItemId) {

var grReqItem = new GlideRecord('sc_req_item');

grReqItem.get(reqItemId);

var variableArray = getVariablesFromCatalogItem(grReqItem.cat_item.sys_id);

var variables = grReqItem.variables;

for (var m = 0; m < variableArray.length; m++) {

// gs.print(variables.year.getDisplayValue());

gs.print(variableArray[m] + "=" + variables[variableArray[m]].getDisplayValue());

buildJson(variableArray[m], variables[variableArray[m]].getDisplayValue());

}

}

function getVariablesFromCatalogItem(itemID) {

var variableList = [];

var query = 'cat_item=' + itemID + 'active=truetypeIN7,9,10,26,23,28,21,22,18,25,2,3,4,8,31,32,5,6,27,16,1';

var grVariables = new GlideRecord('item_option_new');

grVariables.addEncodedQuery(query);

grVariables.query();

while (grVariables.next()) {

variableList.push(grVariables.name + '');

}

return variableList;

}

function buildJson(key, value) {

var rowJson = {

"key": key,

"value": value

};

variableJson.push(rowJson);

}

Youtube link : https://youtu.be/2KAsa7TE24s

View original source

https://www.servicenow.com/community/now-platform-articles/servicenow-update-kbarticle-with-ritm-variable-values/ta-p/2319678