SCSM 2012 brought a lot of great new features, but there are some minor changes which I find annoying. One of these changes is the “Change Incident Status” task group which includes the “Resolve” task. I (and most of my customers) prefer this task to be in the root task list, as it used to be in SCSM 2010. Read this blog post to bring this task back to where it belongs.
In SCSM 2012, the “Resolve” task has been moved to the newly introduced “Change Incident Status” task group.
Following the procedures in this blog post to create a custom management pack allows you to also display this task in the root task list, where it used to be in SCSM 2010.
Just create a new XML file named “SIS.Incident.Resolve.Task.xml” and paste the below code in the file. Save it, and then import it into Service Manager. After restarting the console, you will find the “Resolve” task added to the root task list when one or multiple incidents are selected.
Management Pack XML:
<ManagementPack xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ContentReadable="true" SchemaVersion="2.0" OriginalSchemaVersion="1.1">
<Manifest>
<Identity>
<ID>SIS.Incident.Resolve.Task</ID>
<Version>1.0.0.0</Version>
</Identity>
<Name>SIS Incident Resolve Task</Name>
<References>
<Reference Alias="System">
<ID>System.Library</ID>
<Version>7.5.8501.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="Console">
<ID>Microsoft.EnterpriseManagement.ServiceManager.UI.Console</ID>
<Version>7.5.1561.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="CoreIncident">
<ID>System.WorkItem.Incident.Library</ID>
<Version>7.5.1561.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="IncidentLibrary">
<ID>ServiceManager.IncidentManagement.Library</ID>
<Version>7.5.1561.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
</References>
</Manifest>
<Categories>
<Category ID="SIS.Incident.Resolve.Task.Category" Value="Console!Microsoft.EnterpriseManagement.ServiceManager.ManagementPack">
<ManagementPackName>SIS.Incident.Resolve.Task</ManagementPackName>
<ManagementPackVersion>1.0.0.0</ManagementPackVersion>
</Category>
<Category ID="Microsoft.EnterpriseManagement.ServiceManager.UI.Console.MultiSelectTask.ResolveIncidentCommand" Target="SIS.Incident.ResolveIncidentCommand.Task" Value="Console!Microsoft.EnterpriseManagement.ServiceManager.UI.Console.MultiSelectTask" />
</Categories>
<Presentation>
<ConsoleTasks>
<ConsoleTask ID="SIS.Incident.ResolveIncidentCommand.Task" Accessibility="Public" Enabled="true" Target="CoreIncident!System.WorkItem.Incident" RequireOutput="false">
<Assembly>Console!SdkDataAccessAssembly</Assembly>
<Handler>Microsoft.EnterpriseManagement.UI.SdkDataAccess.ConsoleTaskHandler</Handler>
<Parameters>
<Argument Name="Assembly">Microsoft.EnterpriseManagement.ServiceManager.Incident.TaskHandlers</Argument>
<Argument Name="Type">Microsoft.EnterpriseManagement.ServiceManager.Incident.TaskHandlers.ResolveIncidentCommand</Argument>
</Parameters>
</ConsoleTask>
</ConsoleTasks>
<ImageReferences>
<ImageReference ElementID="SIS.Incident.ResolveIncidentCommand.Task" ImageID="IncidentLibrary!IncidentMgmt_IncidentResolve_16" />
</ImageReferences>
</Presentation>
<LanguagePacks>
<LanguagePack ID="ENU" IsDefault="true">
<DisplayStrings>
<DisplayString ElementID="SIS.Incident.Resolve.Task">
<Name>SIS Incident Resolve Task</Name>
</DisplayString>
<DisplayString ElementID="SIS.Incident.ResolveIncidentCommand.Task">
<Name>Resolve</Name>
<Description>Resolve the incident</Description>
</DisplayString>
</DisplayStrings>
</LanguagePack>
</LanguagePacks>
</ManagementPack>
Have fun!
Thank you! Is it also possible to move the “other” group (our custom statuses) so you can choose that without the extra click on “other?”
Yes, this is possible. Just replace the argument:
Microsoft.EnterpriseManagement.ServiceManager.Incident.TaskHandlers.ResolveIncidentCommand
with
Microsoft.EnterpriseManagement.ServiceManager.Incident.TaskHandlers.ChangeStatusCommand
Then you might also want to change the display name of the task from “Resolve” to something like “Change Status…”
Do I need to change the other things in the MP to make it a separated MP, or can I add this as a second item within the same MP?
Yes, you can combine both tasks in the same MP. If you send me your email address, I can provide you with the XML…
Additionally, if you would like to set a custom status by just one click, you can use Travis’ “Incident Quick Templates” solution: http://blogs.technet.com/b/servicemanager/archive/2011/09/08/incident-quick-templates.aspx
Hi Dieter,
Thanks for the blogpost.
My client would like to have all the statusses (also custom made ones) listed in the “Change Incident Status”-field (without the need to use the Other..).
Is this possible?
Kind regards,
Mathieu
Yes, this is possible, but needs coding in Visual Studio. You can achieve something similar using the Quick Templates solution: http://gallery.technet.microsoft.com/Quick-Incident-Templates-dac8ca00