Moving the Resolve task out of the “Change Incident Status” group

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.

clip_image002

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.

clip_image002[4]

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!

Smile

6 thoughts on “Moving the Resolve task out of the “Change Incident Status” group

  1. audrey paige February 13, 2013 / 22:52

    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?”

    • Dieter Gasser February 19, 2013 / 15:47

      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…”

      • audrey paige February 19, 2013 / 17:00

        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?

  2. Mathieu November 13, 2013 / 14:48

    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

Leave a comment