How to create a button that close many incidents (checked incidents) at once

yasserbouat
Tera Guru

Hello,

Please, How to create a button that close many incidents (checked incidents) at once (if I am an agent of the helpdesk) ? I followed this article but it didn't work : https://www.servicenow.com/docs/bundle/yokohama-it-service-management/page/product/incident-manageme... 

So, to explain more : if I am an agent , I want to check some incidents in ALL>Incidents>open and click on a button to close them all at one time : 

yasserbouat_0-1740588906626.png

Thanks,

2 ACCEPTED SOLUTIONS

Community Alums
Not applicable

Hello @yasserbouat,

 

I have tried to create a small POC , hope it helps you to resolve your issue.

Step 1: Create a UI Action for incident table.

Screenshot 2025-02-27 160555.png

 

Add below code

function resolveSelected() {
    var selectedIncidents = g_list.getChecked();
    if (!selectedIncidents) {
        alert("No Incidents selected!");
        return;
    } else {
        var glideAjax = new GlideAjax("IncidentUtils3");
        glideAjax.addParam("sysparm_name", "closeIncidents");
        glideAjax.addParam("sysparm_incidents", selectedIncidents);
        glideAjax.addParam("sysparm_closeCode", "Resolved by caller");
        glideAjax.addParam("sysparm_closeNote", 'Resolved!');
        glideAjax.getXMLAnswer(function(answer) {
			if(answer =='true'){
				top.location.reload();
			}
		});
        }
    }

Step 2: Create a Script Include 

image.png

 

Add below code

closeIncidents: function() {
        var selectedIncidents = this.getParameter("sysparm_incidents");
        var notes = this.getParameter("sysparm_closeNote");
        var code = this.getParameter("sysparm_closeCode");
        var incidentGr = new GlideRecord('incident');
        incidentGr.addQuery('sys_id', 'IN', selectedIncidents);
        incidentGr.query();
        while (incidentGr.next()) {
            incidentGr.setValue('state', 7);
            incidentGr.setValue('close_notes', notes);
            incidentGr.setValue('close_code', code);    
            incidentGr.update();
        }
        return true;
    },

 

The above code will close all the selected incidents with a static Resolution code and Resolution Notes mentioned in the code.

 

Note: Make sure you add appropriate access control to script include, else it wont get called.  

Mark this as Helpful / Accept the Solution if this helps.

View solution in original post

@yasserbouat 

that's OOB behavior.

the data policy is blocking the update since you didn't fill in the mandatory fields.

Populate the Resolution code and Resolution Notes field when the screen appears after clicking Update selected

Then the data policy won't block

update selected.gif

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

14 REPLIES 14

SN_Learn
Kilo Patron
Kilo Patron

Hi @yasserbouat ,

 

Please check the condition field defined in the UI action(it is not satisfying the condition) that is the reason why it is not clickable/greyed out.

 

 

 

----------------------------------------------------------------
Mark this as Helpful / Accept the Solution if this helps.

Hello,

Thanks for your reply, but : 

1) The button is not greyed out when I tried the article solution, it was clickable but nothing happen : the selected tickets remains unclosed !

2) Is there another solution pleaze ?

3) When you said I have to check the condicition : what should I modify pleaze ?

yasserbouat_0-1740648266840.png


Thanks

@yasserbouat ,

 

In the screenshot, It looks like that the button is not clickable so I suggested to check the below field for your setup UI action:

SN_Learn_0-1740649207306.png

 

 

Could you please share the screenshot of scripts that you have setup? Thanks

----------------------------------------------------------------
Mark this as Helpful / Accept the Solution if this helps.

Hello,

Thanks for your reply, 

The button was greyed out because i update the ui policy as active = false to prevent my coworkers to use it : that s all.

Now, do you suggest me to use the solution in the article https://www.servicenow.com/docs/bundle/yokohama-it-service-management/page/product/incident-manageme... with the condition as you highlited in the previuous response ?

Also, if you know another working solution don't hesitate to send it to me please.

Thanks