You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »


The Common Problem document is an XML schema that contains default fields for mapping Problem form values from one system to another. The common problem format mirrors what one would see in an ITIL view of the Problem form with related lists expressed in embedded XML form.

Implementation

The implementation of any common attachment format is symmetrical, meaning that the output, when consumed, should produce the same or similar records at the target. The implementation should also exhibit idempotent behavior, meaning when a document is consumed and processed repeatedly, the same result either appears or is ignored, because the results already exist.

Dynamic Shares

For the correct outputs to be produced, you must create 2 Dynamic Shares - one to capture the comments and work_notes field values in a before context, and the other as async mode to capture the related records in a delayed step.

In the before Dynamic Share, use the following code snippet to prevent unwanted outbound messages to be queued when comments or work_notes are not updated. Please note this is only necessary if it applies to your use case.

if (current.comments.nil() && current.work_notes.nil()) {
	ignore = true;
}

Embedded records


Embedded records are fields in the Common Problem document that cannot be mapped by singular values. Instead, they are entirely different records included inside the Common Problem document to be created on the subscribing system. 

These are the supported embedded records in Common Problem: 

Attachment Embedded Record


The attachment field in the Common Problem is an embedded record that, when populated, will create a new attachment on the system receiving the Common Problem.

Table Map Source FieldDefinition
dataAttachment data in an encoded string format
size_bytesMeasurement of how much the attachment data contains
file_nameName of the attached file 
sys_idUnique record identifier of the attachment
content_typeAttachments content type (i.e jpeg, png, txt, etc.) 

Incident Record


The incident field in the Common Problem is an embedded record that, when populated, will create a new incident on the system receiving the Common Problem.

Table Map Source FieldDefinition
numberRecord number of incident
opened_atDate the incident is opened
categoryCategorization of incident
caller_id_nameName of the caller 
assigned_to_nameName of the user the incident is assigned to
short_descriptionShort description of incident
priorityPriority of incident
idRecord identifier of the incident
stateState of the incident
assignment_group_nameName of the assignment group assigned to the incident

Problem Task Record


The problem task field in the Common Problem is an embedded record that, when populated, will create a new problem task on the system receiving the Common Problem.

Table Map Source FieldDefinition
cmdb_ciUnique record identifier of the configuration item
assigned_toUser the problem is assigned to 
stateState of the problem
short_descriptionShort description of problem
assignment_groupUnique record identifier of the assignment group record
numberRecord number of problem
priorityPriority of problem

Sample Output

A sample Common Problem looks like this:

<common_problem>
    <active />
    <activity_due/>
    <additional_assignee_list/>
    <approval />
    <approval_history/>
    <approval_set/>
    <assigned_to/>
    <assignment_group/>
    <attachments>
      <attachment>
         <data />
         <size_bytes />
         <file_name />
         <sys_id />
         <content_type />
      </attachment>
    </attachments>    
    <business_duration/>
    <business_service/>
    <calendar_duration/>
    <closed_at/>
    <closed_by/>
    <close_notes/>
    <cmdb_ci/>
    <comments/>
    <comments_and_work_notes/>
    <company/>
    <contact_type/>
    <correlation_display/>
    <correlation_id/>
    <delivery_plan/>
    <delivery_task/>
    <description />
    <due_date/>
    <escalation />
    <expected_start/>
    <follow_up/>
    <group_list/>
    <impact />
    <incidents>
        <incident>
            <number />
            <opened_at />
            <category />
            <caller_id_name />
            <assigned_to_name />
            <short_description />
            <priority />
            <id />
            <state />
            <assignment_group_name />
        </incident>
    </incidents>
    <knowledge />
    <known_error />
    <location/>
    <made_sla />
    <number />
    <opened_at />
    <opened_by />
    <order/>
    <parent/>
    <priority />
    <problem_state />
    <problem_tasks>
        <problem_task>
            <cmdb_ci/>
            <assigned_to/>
            <state />
            <short_description />
            <assignment_group/>
            <number />
            <priority />
        </problem_task>
    </problem_tasks>
    <provider />
    <reassignment_count />
    <rejection_goto/>
    <related_incidents />
    <rfc/>
    <short_description />
    <sla_due/>
    <state />
    <sys_class_name />
    <sys_created_by />
    <sys_created_on />
    <sys_domain />
    <sys_domain_path />
    <sys_mod_count />
    <sys_tags/>
    <sys_updated_by />
    <sys_updated_on />
    <time_worked/>
    <upon_approval />
    <upon_reject />
    <urgency />
    <user_input/>
    <variables/>
    <watch_list/>
    <wf_activity/>
    <work_around/>
    <work_end/>
    <work_notes/>
    <work_notes_list/>
    <work_start/>
</common_problem>