Journal field type
Summarize
Summary of Journal field type
ServiceNow provides three types of journal fields—journal,journalinput, andjournallist—each serving different purposes for capturing and displaying record-related notes and comments within forms and notifications. Understanding these types helps you manage how information is entered, stored, and displayed for effective communication and record-keeping.
Show less
Journal Field Types and Their Uses
- journal: Allows users to input and store multiple entries, displaying all combined inputs below the input box. These entries appear both in the activity stream on the form and in list views, making it useful for ongoing commentary visible to many users.
- journalinput: Permits input and storage of entries but does not display previous inputs in the activity stream or list view. Entries are only visible on the associated record, ideal for notes that should not clutter the activity stream.
- journallist: Does not accept input but displays combined contents of one or more related journal fields in chronological order. This field type shows entries in a separate block rather than the activity stream, useful for consolidated viewing of multiple journal inputs.
Managing Journal Entries in Notifications
Administrators can control how many journal entries are included in email notifications using the system property glide.email.journal.lines. Setting this integer property determines the number of journal entries (such as Additional comments or Work notes) that are sent with notification emails. A value of -1 includes all entries, while the default value is 3.
Working with Journal Fields in Scripts
To process journal field entries programmatically, you can retrieve all entries as a string and split them into an array for iteration. For example, retrieving all work notes entries and iterating through each:
var notes = current.worknotes.getJournalEntry(-1);var na = notes.split("\n\n");for (var i = 0; i < na.length; i++) { gs.print(na[i]);}
Note that the setValue() method is not supported for journal fields. Instead, assign values directly to the journal field property in a GlideRecord object before updating the record, as shown:
var gr = new GlideRecord('incident');gr.addQuery('priority', 1);var qc = gr.addQuery('state', 1);qc.addOrCondition('state', 2);gr.query();while(gr.next()) { gs.print(gr.number); gr.worknotes = "This is a high-priority incident. Please prioritize."; gr.update();}
Practical Benefits for ServiceNow Customers
- Choose the appropriate journal field type to control visibility and input behavior for record comments and work notes.
- Optimize notification content by limiting journal entries included in emails, reducing noise while ensuring important updates are communicated.
- Leverage scripting techniques to programmatically read and update journal fields, enabling automation of comments and notes based on record conditions.
There are three types of journal field: journal, journal_list, and journal_input.
| Journal field types | Description |
|---|---|
| journal | Allow and store input, and display the combined inputs below the input box. Journal fields display in the activity stream in the form and in the list view. |
| journal_input | Allow and store input, but do not display the combined inputs. Journal input fields only display with the record they are associated with, so they do not display in the activity stream on the list view. |
| journal_list | Do not allow or store input; they merely display the contents of other Journal fields upon which the journal_list field is dependent. If a journal_list field is dependent on more than one Journal field, it will chronologically interweave those fields' inputs. The journal_list field does not display content within the activity stream, but rather in a separate block. |
The example image contains the three available journal field types. The first is a journal field, with its inputs displayed below the field. The second is a journal input field, which does not show its previous inputs. The third is Journal list field, which is configured to show the input from the journal input field above it.
Restricting journal entries sent in a notification
Administrators can control the number of journal entries notifications include with the following system property.
| Property | Label | Description |
|---|---|---|
| glide.email.journal.lines | Number of journal entries (Additional comments, Work notes, etc.) included in email notifications (-1 means all). | Specifies the number of entries from a journal field (such as Additional comments and Work notes) included in email notifications. A value of -1 includes all journal entries.
|
Code for getting the contents of a journal field into an array
To put the contents of a journal field into an array so that you can iterate through each entry, you can use the code in this page.
var notes = current.work_notes.getJournalEntry(-1);
//gets all journal entries as a string where each entry is delimited by '\n\n'
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]);Journal field script values
The setValue() method is not supported for journal fields. Instead, assign values in script as in the following example.
var now_GR = new GlideRecord('incident');
//query priority 1 incidents in the state of either 'new' or 'active'.
gr.addQuery('priority', 1);
var gc = gr.addQuery('state', 1);
gc.addOrCondition('state', 2);
gr.query();
while(gr.next())
{
//print a list of the incident numbers updated
gs.print(gr.number);
//add an entry to the 'work notes' journal field for each incident
gr.work_notes = "This is a high-priority incident. Please prioritize.";
gr.update();
}