- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-13-2019 06:27 AM
Hi All,
On incident table, I want to copy additional comments to work notes and delete the additional comments . I want to do this as one time activity so looking to write background script for this. I tried below script for one incident ( I need to do it for all Incs) but it did not work
var gr = new GlideRecord('sys_journal_field')
gr.addQuery('element_id','f0236147dbd57b40d821f91ebf961955');
gr.query();
if(gr.next()){
gr.work_notes = gr.work_notes + gr.comments
gr.comments ="";
gr.update();
}
Can someone please help ?
Thanks!
Solved! Go to Solution.
- Labels:
-
Scripting and Coding

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-14-2019 04:41 AM
Hi,
Updated the code slightly. Try this.
var gr = new GlideRecord("incident");
gr.addActiveQuery();
gr.query();
while(gr.next()) {
var notes = gr.comments.getJournalEntry(-1);
var na = notes.split("\n\n"); //stores each entry into an array of strings
gs.print("Entered while loop"+notes);
for (var i = 0; i < na.length; i++) {
gs.print(na[i]);
gr.work_notes=na[i];
gr.update();
}
//now delete the additional comments. which we need to do from 3 tables sys_audit, sys_history_line,sys_history_set and sys_journal_field
var sysaudit_rec = new GlideRecord("sys_audit");
sysaudit_rec.addQuery("documentkey",gr.sys_id); //incident sys_id
sysaudit_rec.query();
while(sysaudit_rec.next()) {
//now fetch and delete associated history line records
var history_rec = new GlideRecord('sys_history_line')
history_rec.addQuery('audit_sysid',sysaudit_rec.sys_id);
history_rec.query();
if(history_rec.next()){
history_rec.deleteMultiple();
}
sysaudit_rec.deleteMultiple();
}
//fetch and delete entries from sys_history_set.
var historyset_rec = new GlideRecord('sys_history_set')
historyset_rec.addQuery('id',gr.sys_id); //incident sys_id
historyset_rec.query();
gs.print("entered into historyset record"+gr.sys_id);
if(historyset_rec.next()){
historyset_rec.deleteMultiple();
}
var journal_rec = new GlideRecord("sys_journal_field");
journal_rec.addQuery("element_id",gr.sys_id); //incident sys_id
journal_rec.addQuery("element","comments");
journal_rec.query();
while(journal_rec.next()) {
journal_rec.deleteMultiple();
}
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-13-2019 07:05 AM
Hi,
Try this code. This will copy all the additional comments as worknotes.
var gr = new GlideRecord("incident");
gr.addActiveQuery();
gr.addQuery("sys_id","e8caedcbc0a80164017df472f39eaed1"); //for all active incidents,comment this line.
gr.query();
while(gr.next()) {
var notes = gr.comments.getJournalEntry(-1);
var na = notes.split("\n\n"); //stores each entry into an array of strings
for (var i = 0; i < na.length; i++) {
gs.print(na[i]);
gr.work_notes.setJournalEntry(na[i]);
}
}
Mark the comment as a correct answer and also helpful if it answers your question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-13-2019 11:22 PM
Hi Asif,
This is not working:(
Thanks!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-13-2019 11:37 PM
Try this once
var gr = new GlideRecord("incident");
gr.addActiveQuery();
gr.addQuery("sys_id","e8caedcbc0a80164017df472f39eaed1"); //for all active incidents,comment this line.
gr.query();
while(gr.next()) {
var notes = gr.comments.getJournalEntry(-1);
var na = notes.split("\n\n"); //stores each entry into an array of strings
for (var i = 0; i < na.length; i++) {
gs.print(na[i]);
gr.work_notes=na[i];
gr.update();
}
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-14-2019 12:27 AM
Hi
Try this code.
var gr = new GlideRecord("incident");
gr.addActiveQuery();
gr.addQuery("sys_id","9d3c1197c611228701cd1d94bc32d76d"); //for all active incidents,comment this line.
gr.query();
while(gr.next()) {
var notes = gr.comments.getJournalEntry(-1);
var na = notes.split("\n\n"); //stores each entry into an array of strings
gs.print("Entered while loop"+notes);
for (var i = 0; i < na.length; i++) {
gs.print(na[i]);
gr.work_notes=na[i];
gr.update();
}
//now delete the additional comments. which we need to do from 3 tables sys_audit, sys_history_line and sys_journal_field
var sysaudit_rec = new GlideRecord("sys_audit");
sysaudit_rec.addQuery("documentkey",gr.sys_id); //incident sys_id
sysaudit_rec.query();
while(sysaudit_rec.next()) {
//now fetch and delete associated history line records
var history_rec = new GlideRecord('sys_history_line')
history_rec.addQuery('audit_sysid',sysaudit_rec.sys_id);
history_rec.query();
if(history_rec.next()){
history_rec.deleteRecord();
sysaudit_rec.deleteRecord();
}
}
var journal_rec = new GlideRecord("sys_journal_field");
journal_rec.addQuery("element_id",gr.sys_id); //incident sys_id
journal_rec.addQuery("element","comments");
journal_rec.query();
while(journal_rec.next()) {
journal_rec.deleteRecord();
}
}
Mark the comment as a correct answer and also helpful once worked.