Posts Tagged ‘Assignment’

So one of the biggest issues I have with Service Manager is actually user based as seems to be quite difficult to teach the concept of this for some strange reason. So, as a work-around I have created views that cater for the issue I am about to discuss.

The issue is as follows, when a Work Item gets re-assigned to a new Analyst, 99% of the time, the associated Support Group does NOT get changed. Let’s take the following example.

An incident is logged and is automatically assigned to the “Service Desk” team, now an analysts investigates the incident and determines that the incident actually belongs to a member of the “Network Team”. So, typically, the “Assigned to” person is changed and the new analyst will get an e-mail stating that a call has been assigned to him/her. However, the incident now reflects the following

Analyst : Network Analyst Thumbs up

Support Group : Service Desk Thumbs down

So basically, if you were to have a queue or view that shows up all incidents assigned to the “Network Team”, this incident would not show up however the analyst has received and e-mail stating that an Incident has been assigned to him/her, it can of course be found by using “Assigned to Me” View.

There is a solution here. Enter Cireson and their fantastic applications for Service Manager. SCSM Group Assign allows the extended functionality of selecting the required Support Group and then NARROWS the list of Analysts to that specific group. This ensures that BOTH the Support Group and Analyst are changed at time of re-assignment, making the creation of views and Queues a lot simpler and then ensures that your views based on Support Group are 100% accurate. The solution extends the context pane and adds a “Assign Analyst by Group” option

image

What SCSM Group Assign allows you to is the following (this is my test lab), you will however get the idea.

Below is a screenshot of the groups that I have created within Active Directory to “illustrate” my different Support Groups. You will see a few groups.

1. For all analysts

2. To represent different support Groups (I have called them Tier 1,2 and 3, as this is the vanilla experience with SCSM)

image015

Ok, so below is a screenshot of a re-assignment using the new “Assign Analyst by Group” option. For this example I have used “Tier 1”. Note how the “Analyst” selection is limited to only 2 Analysts as per my groups earlier. Namely Analyst 1 and Analyst 2.

Tier1-group assign

The next screenshot depicts the same process only to “Tier 2” this time. This time the selection is limited to Analyst 3 and Analyst 4.

Tier2-group assign

The re-assignment is logged in Service Manager in the exact same way as any analyst assignment. This is an extension of the capabilities of Service Manager.

I would highly recommend SCSM Group Assign for any Service Manager installation.

scsmlogo25

image_thumb_thumb

Follow me.

facebook-small322252222twitter-small322252222

MCC11_Logo_Horizontal_2-color_thumb_

So, in an effort to get my business ready for Service Requests as we use mainly Incidents and we are beginning our journey into Service Requests and differentiating between Service Requests (day to day operations) and Incidents (something is broken), I needed to reproduce a workflow to notify the “AssignedToUser” when a new Service Request is assigned to him or her. I already had a downloaded Management Pack for Incident Re-assignment notifications which was modified for my purposes, so this was a good place to start. I found these management packs as a nice start as well. I have since modified these to create a Service Request Re-Assignment Management Pack, as with all my searching, I could not find ANYTHING!!!!

So using the idea from the this site, I ran the SQL command from the blog.


SELECT TOP 1000 [ObjectTemplateId]
,[ManagementPackId]
,[ObjectTemplateName]
,[Accessibility]
,[ObjectTemplateTypeId]
,[ObjectTemplateSubelementXML]
,[TimeAdded]
,[LastModified]
FROM [ServiceManager].[dbo].[ObjectTemplate]

I got some very strange results, as the MP XML I used, needs a GUID for the Template. So, another challenge, no worries. I took all the data from the SQL query and pasted it into Excel. So now, I have noticed that tracking down a GUID for a Template in a Custom MP is not the easiest. I ended up looking at the “Property Field” and was able to determine the Template I needed from the information in the “property field” due to the “Subject” line in my e-mail template. So I copied the GUID. Imported the MP and voila!!! it works like a charm.

If you would like this Management Pack, it is located here as a .docx file. XML code below.

<?xml version="1.0" encoding="utf-8"?>
<ManagementPack ContentReadable="true" SchemaVersion="1.1" OriginalSchemaVersion="1.1" xmlns:xsd="<a href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</a>" xmlns:xsl="<a href="http://www.w3.org/1999/XSL/Transform">http://www.w3.org/1999/XSL/Transform</a>">
<Manifest>
<Identity>
<ID>Custom.ServiceRequestAssignmentChanges.Notification</ID>
<Version>7.0.6555.0</Version>
</Identity>
<Name>Service Request Assignment Changes Notification Workflow</Name>
<References>
<Reference Alias="WorkItem">
<ID>System.WorkItem.Library</ID>
<Version>7.0.6555.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="ServiceRequest">
<ID>ServiceManager.ServiceRequest.Library</ID>
<Version>7.0.6555.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="CoreChange">
<ID>System.WorkItem.ServiceRequest.Library</ID>
<Version>7.0.6555.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="SystemCenter">
<ID>Microsoft.SystemCenter.Subscriptions</ID>
<Version>7.0.6555.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="EnterpriseManagement1">
<ID>Microsoft.EnterpriseManagement.ServiceManager.UI.Administration</ID>
<Version>7.0.6555.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="EnterpriseManagement">
<ID>Microsoft.EnterpriseManagement.ServiceManager.UI.Console</ID>
<Version>7.0.6555.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="System">
<ID>System.Library</ID>
<Version>7.0.6555.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
</References>
</Manifest>
<Categories>
<Category ID="Category.Custom.ServiceRequestAssignmentChanges.Notification.ManagementPack" Value="EnterpriseManagement!Microsoft.EnterpriseManagement.ServiceManager.ManagementPack">
<ManagementPackName>Custom.ServiceRequestAssignmentChanges.Notification</ManagementPackName>
<ManagementPackVersion>7.0.6555.0</ManagementPackVersion>
</Category>
<Category ID="Category.ServiceRequestAssignmentChanges" Target="ServiceRequestAssignmentChanges" Value="EnterpriseManagement1!Microsoft.EnterpriseManagement.ServiceManager.Rules.WorkflowSubscriptions" />
</Categories>
<Monitoring>
<Rules>
<Rule ID="ServiceRequestAssignmentChanges" Enabled="true" Target="ServiceRequest!System.WorkItem.ServiceRequest.WorkflowTarget" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>System</Category>
<DataSources>
<DataSource ID="DS" TypeID="SystemCenter!Microsoft.SystemCenter.CmdbInstanceSubscription.DataSourceModule">
<Subscription>
<RelationshipSubscription RelType="$MPElement[Name='WorkItem!System.WorkItemAssignedToUser']$" SourceType="$MPElement[Name='CoreChange!System.WorkItem.ServiceRequest']$" TargetType="$MPElement[Name='System!System.Domain.User']$">
<AddRelationship />
</RelationshipSubscription>
<PollingIntervalInSeconds>30</PollingIntervalInSeconds>
<BatchSize>100</BatchSize>
</Subscription>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WA" TypeID="SystemCenter!Microsoft.EnterpriseManagement.SystemCenter.Subscription.WindowsWorkflowTaskWriteAction">
<Subscription>
<EnableBatchProcessing>false</EnableBatchProcessing>
<WindowsWorkflowConfiguration>
<AssemblyName>Microsoft.EnterpriseManagement.WorkflowFoundation</AssemblyName>
<WorkflowTypeName>Microsoft.EnterpriseManagement.WorkflowFoundation.ConfigurationWorkflow</WorkflowTypeName>
<WorkflowParameters>
<WorkflowParameter Name="InstanceId" Type="guid">$Data/BaseManagedEntityId$
</WorkflowParameter>
<WorkflowArrayParameter Name="NotificationTemplateIdList" Type="guid">
<Item>82E39128-77DF-905B-C782-5FCEDFD2F990</Item>
</WorkflowArrayParameter>
<Item>$MPElement[Name='WorkItem!System.WorkItemAssignedToUser']$</Item>
</WorkflowParameters>
<RetryExceptions />
<RetryDelaySeconds>60</RetryDelaySeconds>
<MaximumRunningTimeSeconds>1500</MaximumRunningTimeSeconds>
</WindowsWorkflowConfiguration>
</Subscription>
</WriteAction>
</WriteActions>
</Rule>
</Rules>
</Monitoring>
<LanguagePacks>
<LanguagePack ID="ENU" IsDefault="true">
<DisplayStrings>
<DisplayString ElementID="Custom.ServiceRequestAssignmentChanges.Notification">
<Name>Custom Service Manager Service Request Assignment Changes Notification Workflow</Name>
<Description>Service Manager Service Request Assignment Changes Workflow</Description>
</DisplayString>
<DisplayString ElementID="ServiceRequestAssignmentChanges">
<Name>Service Request Assignment Notification</Name>
</DisplayString>
</DisplayStrings>
</LanguagePack>
</LanguagePacks>
</ManagementPack>

Hope this helps someone else as well,

Follow me.

facebook-small322252222twitter-small322252222

MCC11_Logo_Horizontal_2-color_thumb_