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

Ankur Bawiskar
Tera Patron
Tera Patron

@yasserbouat 

why not use Update Selected OOB feature and it will update those records you select?

AnkurBawiskar_0-1740650963602.png

 

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

Hello, and thanks for your reply, but i get this error : 

yasserbouat_0-1740651395124.png

 

@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

Thanks, but If the need is to create a button that allows the agent to close many selected incidents at once : do you have an idea ?

Community Alums
Not applicable

 Hi @yasserbouat  what @Ankur Bawiskar mentioned is also a best option.