Get a first look at what's coming. The Developer Passport Australia Release Preview kicks off March 12. Dive in! 

Create Knowledge from Incident

Bcrant
Tera Contributor

Good afternoon. 

I'm noticing that our KA drafts created from Incident records are missing an author. The value is empty. I believe the value should populate with the Incidents resolved by or closed by value. Can anyone direct me to where this update should be made? I found a business rule "Incident Create Knowledge" and the script is copied below. When the system closes the INC record after 5 days, unless closed by customer, then the KA draft author is empty. 

 

var sub = gs.getProperty('glide.knowman.submission.workflow');

if (sub == 'true')
submitCandidate();
else
submitDirect();

function submitDirect() {
var kb = new GlideRecord("kb_knowledge");
kb.source = current.sys_id;
kb.short_description = current.short_description;
kb.sys_domain = current.sys_domain;
kb.text = current.comments.getHTMLValue();
kb.workflow_state = 'draft';
kb.kb_knowledge_base = gs.getProperty("glide.knowman.task_kb", "dfc19531bf2021003f07e2c1ac0739ab");
kbSysId = kb.insert();
if(kbSysId)
gs.addInfoMessage(gs.getMessage('Knowledge Article created: {0} based on closure of Incident: {1}', [kb.number, current.number]));
}

function submitCandidate() {
var gr = new GlideRecord('kb_submission');
gr.parent = current.sys_id;
gr.short_description = current.short_description;
gr.sys_domain = current.sys_domain;
gr.text = current.comments.getHTMLValue();
gr.insert();
gs.addInfoMessage(gs.getMessage('Knowledge Submission created: {0} based on closure of Incident: {1}', [gr.number, current.number]));

}

1 ACCEPTED SOLUTION

brianlan25
Kilo Patron

Here is what we are using.

var sub = gs.getProperty('glide.knowman.submission.workflow');

if (sub == 'true')
    submitCandidate();
else
    submitDirect();

function submitDirect() {
    var kb = new GlideRecord("kb_knowledge");
    kb.source = current.sys_id;
    kb.short_description = current.short_description;
    kb.sys_domain = current.sys_domain;
    kb.text = current.comments.getHTMLValue();
    kb.workflow_state = 'draft';
	kb.author = current.assigned_to;
	kb.kb_knowledge_base = gs.getProperty('kb_ss_sysId');
	kbSysId = kb.insert();
	if(kbSysId)
		gs.addInfoMessage(gs.getMessage('Knowledge Article created: {0} based on closure of Incident: {1}', [kb.number, current.number]));
}

function submitCandidate() {
    var gr = new GlideRecord('kb_submission');
    gr.parent = current.sys_id;
    gr.short_description = current.short_description;
    gr.sys_domain = current.sys_domain;
    gr.text = current.comments.getHTMLValue();
	gr.author = current.assigned_to;	
	gr.insert();
    gs.addInfoMessage(gs.getMessage('Knowledge Submission created: {0} based on closure of Incident: {1}', [gr.number, current.number]));

}

View solution in original post

2 REPLIES 2

brianlan25
Kilo Patron

Here is what we are using.

var sub = gs.getProperty('glide.knowman.submission.workflow');

if (sub == 'true')
    submitCandidate();
else
    submitDirect();

function submitDirect() {
    var kb = new GlideRecord("kb_knowledge");
    kb.source = current.sys_id;
    kb.short_description = current.short_description;
    kb.sys_domain = current.sys_domain;
    kb.text = current.comments.getHTMLValue();
    kb.workflow_state = 'draft';
	kb.author = current.assigned_to;
	kb.kb_knowledge_base = gs.getProperty('kb_ss_sysId');
	kbSysId = kb.insert();
	if(kbSysId)
		gs.addInfoMessage(gs.getMessage('Knowledge Article created: {0} based on closure of Incident: {1}', [kb.number, current.number]));
}

function submitCandidate() {
    var gr = new GlideRecord('kb_submission');
    gr.parent = current.sys_id;
    gr.short_description = current.short_description;
    gr.sys_domain = current.sys_domain;
    gr.text = current.comments.getHTMLValue();
	gr.author = current.assigned_to;	
	gr.insert();
    gs.addInfoMessage(gs.getMessage('Knowledge Submission created: {0} based on closure of Incident: {1}', [gr.number, current.number]));

}

Bcrant
Tera Contributor

Thanks @Brian Lancaster, looks like I just need to add kb.author to my script.