Custom Close Task for Rejected Service Requests
In one of my previous post I wrote about how to set a status of declined Service Requests to Rejected instead of Failed. I received many thanks from the community and that was pleasant. However, one reader, Martin, added a comment about Close task that couldn’t be applied to Rejected Service Requests.
I quickly checked the Close Task definition in its management pack and found that this task used criteria that filtered Service Requests by their status. OK. I decided that I would disable the original Close tack and created a new custom Close task very similar to the original one but with a new criteria accepting Rejected status. I did it but the new task said, “You cannot close a service request with status Closed”.
That moment I understood that it wouldn’t be a quick win. The original task checked the Service Request status against some predefined list that of course didn’t include Rejected status.
So I needed to create my very own custom task that would resemble the original Close task but support Rejected status in Microsoft System Center 2012 Service Manager.
In the attached archive (see the link in the end of the article), you will find a source code for the solution I created. If you only need the result, import SCUtils.ServiceRequest.CloseRejected.Task.mpb into the Service Manager and reload the SCSM console.
The source code might be interesting for you, cause I engaged the language translations for the messages and dialogs from the original task referencing resources of the original task’s assembly. Thereby the custom Close task does completely the same things as the original task does plus closes Rejected Service Requests and translates the text for all supported languages.
Updated: My colleague has noticed that in the form the default Close task is not hidden. I’ve updated the solution with a new category ‘Microsoft.EnterpriseManagement.ServiceManager.UI.Console.DonotShowFormTask’. Please download and use the updated version :)