Fetch details from incident form inside UI action URL

NamanChaturvedi
Tera Contributor

Hi
I have a requirement where I have to create a UI action Button on Incident form , and intern create a Custom URL where all the Incident values will be passed inside it as query parameters onClicking of that UI Action Button.

How can I create such a URL ?

Later on I have to consume these URL Query parameter values inside of a Business Rule .

Can someone please let me know the steps that I should follow ??

3 REPLIES 3

Anurag Tripathi
Mega Patron
Mega Patron

Hi Naman,

Assuming you have no issued in reading the form values on the ui action, you need to build a url. 

The link below how to build a url and pass values on the url

Examples of navigating by URL (servicenow.com)

 

-Anurag

Omkar_Ranjane
Tera Contributor

Hi @NamanChaturvedi ,

 

You can get the values of all the fields shown on the form by using the below code snippet in client-side UI action.

function getFormValue() {
    var formFieldValues = [];
    for (var x = 0; x < g_form.elements.length; x++) {
        var obj = {};
        obj["fieldname"] = g_form.elements[x].fieldName,
            obj["fieldvalue"] = g_form.elements[x].getValue();

        formFieldValues.push(obj);
    }
    g_form.addInfoMessage(JSON.stringify(formFieldValues));
}

Output:

[{"fieldname":"short_description","fieldvalue":"test"},{"fieldname":"close_code","fieldvalue":""},{"fieldname":"assignment_group","fieldvalue":""},{"fieldname":"watch_list","fieldvalue":""},{"fieldname":"caused_by","fieldvalue":""},{"fieldname":"description","fieldvalue":""},{"fieldname":"service_offering","fieldvalue":""},{"fieldname":"hold_reason","fieldvalue":""},{"fieldname":"close_notes","fieldvalue":""},{"fieldname":"parent_incident","fieldvalue":""},{"fieldname":"number","fieldvalue":"INC0010001"},{"fieldname":"contact_type","fieldvalue":""},{"fieldname":"resolved_by","fieldvalue":""},{"fieldname":"urgency","fieldvalue":"3"},{"fieldname":"problem_id","fieldvalue":""},{"fieldname":"state","fieldvalue":"1"},{"fieldname":"route_reason","fieldvalue":""},{"fieldname":"assigned_to","fieldvalue":""},{"fieldname":"knowledge","fieldvalue":"false"},{"fieldname":"comments","fieldvalue":""},{"fieldname":"cmdb_ci","fieldvalue":""},{"fieldname":"impact","fieldvalue":"3"},{"fieldname":"work_notes_list","fieldvalue":""},{"fieldname":"business_service","fieldvalue":""},{"fieldname":"priority","fieldvalue":"5"},{"fieldname":"rfc","fieldvalue":""},{"fieldname":"caller_id","fieldvalue":"62826bf03710200044e0bfc8bcbe5df1"},{"fieldname":"resolved_at","fieldvalue":""},{"fieldname":"category","fieldvalue":"inquiry"},{"fieldname":"subcategory","fieldvalue":""},{"fieldname":"work_notes","fieldvalue":""},{"fieldname":"universal_request","fieldvalue":""}]

You can utilize this to create a URL.

 

If my answer has helped with your question, please mark my answer as an accepted solution and give it a thumbs up.

 

Regards,

Omkar Ranjane

Omkar_Ranjane
Tera Contributor

Hi @NamanChaturvedi ,

 

You can get the values of all the fields shown on the form by using the below code snippet in client-side UI action.

 

function getFormValue() {
    var formFieldValues = [];
    for (var x = 0; x < g_form.elements.length; x++) {
        var obj = {};
        obj["fieldname"] = g_form.elements[x].fieldName,
            obj["fieldvalue"] = g_form.elements[x].getValue();

        formFieldValues.push(obj);
    }
    g_form.addInfoMessage(JSON.stringify(formFieldValues));
}

 

Output:

 

[{"fieldname":"short_description","fieldvalue":"test"},{"fieldname":"close_code","fieldvalue":""},{"fieldname":"assignment_group","fieldvalue":""},{"fieldname":"watch_list","fieldvalue":""},{"fieldname":"caused_by","fieldvalue":""},{"fieldname":"description","fieldvalue":""},{"fieldname":"service_offering","fieldvalue":""},{"fieldname":"hold_reason","fieldvalue":""},{"fieldname":"close_notes","fieldvalue":""},{"fieldname":"parent_incident","fieldvalue":""},{"fieldname":"number","fieldvalue":"INC0010001"},{"fieldname":"contact_type","fieldvalue":""},{"fieldname":"resolved_by","fieldvalue":""},{"fieldname":"urgency","fieldvalue":"3"},{"fieldname":"problem_id","fieldvalue":""},{"fieldname":"state","fieldvalue":"1"},{"fieldname":"route_reason","fieldvalue":""},{"fieldname":"assigned_to","fieldvalue":""},{"fieldname":"knowledge","fieldvalue":"false"},{"fieldname":"comments","fieldvalue":""},{"fieldname":"cmdb_ci","fieldvalue":""},{"fieldname":"impact","fieldvalue":"3"},{"fieldname":"work_notes_list","fieldvalue":""},{"fieldname":"business_service","fieldvalue":""},{"fieldname":"priority","fieldvalue":"5"},{"fieldname":"rfc","fieldvalue":""},{"fieldname":"caller_id","fieldvalue":"62826bf03710200044e0bfc8bcbe5df1"},{"fieldname":"resolved_at","fieldvalue":""},{"fieldname":"category","fieldvalue":"inquiry"},{"fieldname":"subcategory","fieldvalue":""},{"fieldname":"work_notes","fieldvalue":""},{"fieldname":"universal_request","fieldvalue":""}]

 

You can utilize this to create a URL.

 

If my answer has helped with your question, please mark my answer as an accepted solution and give it a thumbs up.

 

Regards,

Omkar Ranjane