Help with flow action getting comment and removing some default text

Moedeb
Tera Guru

Ok, so I'm creating a flow action that gets the last comment - that part works fine, however it shows like this:

Moedeb_0-1734053940068.png

Ultimately I want to only use the text after the (Comments) part like:

Moedeb_1-1734054000896.png

This line removed:

Moedeb_2-1734054039648.png

 

The script I have currently is not showing anything after it tries to remove the text.

var str = inputs.full_comment;

str = str.substring(str.indexOf(")") + 1) 

outputs.comment = str;

With my input being called "full_comment 

My output being called "comment"

 

I can see in the results that it is getting the full comment, but then not showing any text as a output "comment"

1 ACCEPTED SOLUTION

@Moedeb - Thanks.

Honestly, I think it's related to your first "look up record" step and how you're receiving the "Comments" as an input (which SN doesn't seem to be able to handle). Instead of receiving the comments as an input, try and receive the entire record, and then grab the comments journal entry in your script:

(function execute(inputs, outputs) {
    var fullComment = inputs.approval_record.comments.getJournalEntry(1);
    var trimmedComment = fullComment.substring(fullComment.indexOf(")") + 1);
    outputs.comment = trimmedComment;
})(inputs, outputs);

 

Example:

NickParsons_0-1734309474354.png

 

View solution in original post

17 REPLIES 17

@Nick Parsons you are completely correct - tried what you put and it 100% works exactly how I want it too!

Thank you a heap.

Also thank you to: 

@Ankur Bawiskar 

@Amit Verma 

@Chaitanya ILCR 

@Ravi Chandra_K 

 

All of you trying to help is awesome and exactly what I love about the ServiceNow community

@Moedeb 

Glad to help.

As per new community feature you can mark multiple responses as correct.

If my response helped please mark it correct as well so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

Also, a more robust solution would be to use the new line character as the marker for where the first line ends, not the ")" character which may potentially be included in the user's name, given you issues. So instead, I'd suggest:

(function execute(inputs, outputs) {
    var fullComment = inputs.approval_record.comments.getJournalEntry(1);
    var trimmedComment = fullComment.replace(/.*\n/, '');
    outputs.comment = trimmedComment;
})(inputs, outputs);

Ravi Chandra_K
Kilo Patron
Kilo Patron

Hello @Moedeb 

Something like this...

Newcomments = inputs.full_comments.getJournalEntry(1).match(/\n.*/gm).join('').replace(/^\s*\n/gm

 

Please refer the below thread:

 

https://www.servicenow.com/community/developer-forum/how-to-remove-time-stamp-and-name-from-addition...

 

Please mark the answer as helpful and correct if helped. 

Kind Regards,

Ravi Chandra  

It doesn't like that at all, for some reason thinks there should be another bracket at the end.