Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

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