Journal field type

  • Release version: Xanadu
  • Updated August 1, 2024
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Journal field type

    ServiceNow provides three types of journal fields—journal,journalinput, andjournallist—each designed to capture and display user input differently. These fields are commonly used for comments, work notes, and activity streams on forms and lists.

    Show full answer Show less

    Journal Field Types and Uses

    • journal: Allows input, stores it, and displays all combined inputs below the input box. It appears in both the activity stream on the form and list views.
    • journalinput: Allows and stores input but does not display combined previous inputs. Entries only appear with the associated record and not in the activity stream on the list view.
    • journallist: Does not allow input; it displays content from other journal fields it depends on, merging multiple journal entries chronologically. It shows content in a separate block, not in the activity stream.

    Managing Journal Entries in Notifications

    Administrators can control how many journal entries are included in email notifications using the glide.email.journal.lines system property. The property accepts an integer where -1 includes all entries, and its default value is 3. This helps manage notification size and relevance.

    Working with Journal Fields Programmatically

    • You can retrieve all journal entries as a single string and split them into an array for iteration using scripting techniques.
    • The setValue() method is not supported for journal fields. Instead, assign values directly to the journal field property in scripts to add entries.
    • Journal fields render text wrapped in code tags as HTML, enabling formatted content display.

    Considerations and Configuration

    • Journal fields can significantly increase the size of task records due to potentially large string inputs.
    • Multi-line text fields have a default character limit of 4000. To assist users, enable the glide.ui.textarea.charactercounter property to display a character counter, helping users manage input length effectively.

    There are three types of journal field: journal, journal_list, and journal_input.

    Table 1. Journal field types
    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.
    Figure 1. Journal fields on a form
    Journal field types

    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.

    • Type: integer
    • Default value: 3
    • Location: System Properties > Email

    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();
    }