How to Have Reopened Tickets Assigned to the Resolved Ticket's "Resolver"

Created: 27 Jun 2012 • Updated: 27 Jun 2012
Login to vote
+2 2 Votes

This is for Workflow/ServiceDesk 7.2 SP2.   This may work in earlier versions but I have not tested.

Downloadable version is attached at the end of this article

When a user reopens a resolved ticket, the assignment goes to a default group and not to the worker who resolves the ticket. If you want the ticket to go back to the resolver, here is the workflow I use.

The workflow below uses a group in case there is a decision for another group to review reopens default tickets instead of the default group. The global variable will make it easy to update and I will call it the "catch all group."

You will need to modify the workflow in the IncidentManagement and ReopenIncident modules. The instructions for ReopenIncident are the same as in the IncidentManagement. The instructions were copy and pasted in to ReopenIncident for reference.

As with any workflow changes, please back up current projects and test when possible.

Catch All Group

First, you want to identify the "catch all" group, just in case there is an issue with trying to assign the ticket back to the resolver.

1. Go in to process manager.

2. Select Admin → Users → List Groups

View Inline Image

3. Find the group you want to be the "catch all" group (like Support I or Support II).

4. Click on the action bolt and select edit.

View Inline Image

5. You want to copy the Group Name and Group ID in to notepad. You will need to paste this later on in this document.

View Inline Image

Incident Management Workflow

Set up the Catch All Group

Edit the SD.IncidentManagement project

View Inline Image

View Inline Image

1. Click on SD.IncidentManagement in the project pane.

2. Click on the Global Data tab.

3. Click on Add

4. On the new line created, type in a name of the variable (I named mine "GLOBAL_Support_I")

5. Click on the ellipses in the Type column.

    a. Type in the word "assignment" in the search box.

    b. Select "AssignmentTarget" from the list.

    c. Click OK.

View Inline Image

6. Click on the ellipses in the Default Value column.

    a. Assignment Type is Group

    b. Display and Target Name is the group name you have on your notepad from section one of this document.

    c. The Target ID is the Group ID you have on your notepad from section one of this document.

View Inline Image

Customer Confirm Resolution Model

View Inline Image

In the project pane select:

Model: Customer Confirm Resolution

Screenshot of model

View Inline Image

You want to add the Get Resolvers Assignment EmbeddedModelComponent right after "Get Process References" and before "Submit Incident Component". The screenshot above has a modified title for Submit Incident Component and other components not related to this document are removed.

Embedded Model Component - Get Resolvers Assignment

After adding the component, edit the component properties (right click and edit component)

View Inline Image

1. On the Settings tab, name the component "Get Resolvers Assignment".

2. On the Configuration Tab...

View Inline Image

3. Click the elipses next to Output Data

4. Click on Add

View Inline Image

    a. Type ResolvedAssignmentTarget as the Name

    b. Click on the ellipses under Type

    View Inline Image

        i. Type in the word "assignment" in the search box.

        ii. Select AssignmentTarget from the list.

        iii. Click OK.

5. Click OK to get out of the parameters box.

6. Right click on Get Resolvers Assignment, edit model.

Model - Get Resolvers Assignment

This is what the model should look like after you build it. Please refer to this picture when adding or editing the components.

View Inline Image

1. Add a GetUserInfoByID component.

View Inline Image

    a. On the settings tab, name the component "Get Resolved User info by ID"

    b. On the Inputs tab, click on the ellipses next to the UserID field and select "Incident.ResolvedByUserID"

    c. On the Outputs tab, type in "ResolvedByUserData"

View Inline Image

2. Add a SingleValueMappingComponent

View Inline Image

    a. On the settings tab, name this component "Resolved User to Assignment"

    b. On the configuration tab

        i. Click the ellipses next to "Target Type"

View Inline Image

          1. Type in the word "assignment" in the search box.

          2. Select AssignmentTarget from the list.

          3. Click OK.

        ii. Click on the Ellipses for Mapping Definition.

Map the following values from ResolvedByUserData

          . DisplayName to DisplayName

          . PrimaryEmail to TargetName

          . UserID to TargetID

View Inline Image

        iii. Type in "ResolvedByTarget" on the Output Variable Name

3. Add InsertDataComponent

View Inline Image

    a. On the Settings tab, name the component "Add Assignment Type"

    b. On the Configuration tab

        i. Click the ellipses next to data type.

        ii. Search for AssignmentType (Type not target). Use similar steps as above on how to search and select types.

        iii. Value is type User

        iv. Variable name is "ResolvedByTarget.AssignmentType"

4. Add Exception Trigger Component

View Inline Image

    a. On the trigger tab, check "Put error in error log". This is optional but highly suggested during test.

5. Add CreateLogEntryComponent

View Inline Image

    a. Set the Log Entry Level to Warn (can downgrade after testing)

    b. Change the Log Entry Text to add descriptive information for the general exception error.

View Inline Image

6. Add Exception Trigger By Component

View Inline Image

    i. On the Trigger tab

        a. Select the Get Resolved User info By ID component.

        b. Check "Put error in error log" (suggested for testing)

7. Add Create Log Entry

View Inline Image

    a. Set the Log Entry Level to Warn (can downgrade after testing)

    b. Change the Log Entry Text to add descriptive information for the component exception error.

View Inline Image

8. Add SingleValueMappingComponent

View Inline Image

    i. On the settings tab, name the component "Catch All Group to Assignment"

    ii. On the Configuration tab

        a. On the settings tab, name this component "Resolved User to Assignment"

        b. On the configuration tab

          i. Click the ellipses next to "Target Type"

View Inline Image

            1. Type in the word "assignment" in the search box.

            2. Select AssignmentTarget from the list.

            3. Click OK.

          ii. Click on the Ellipses for Mapping Definition.
Map the following values from

Global_Support_I (or whatever you named your catch all group)

            . DisplayName to DisplayName

            . TargetName to TargetName

            . TargetID to TargetID

View Inline Image

9. Add InsertDataComponent

View Inline Image

    a. On the Settings tab, name the component "Add Assignment Type"

    b. On the Configuration tab

        i. Click the ellipses next to data type.

        ii. Search for AssignmentType (Type not target). Use similar steps as above on how to search and select types.

        iii. Value is type Group

        iv. Variable name is "ResolvedByTarget.AssignmentType"

10. Edit the End Component

    a. On the Configuration Settings, click the elipses next to "ResolvedAssignmentTarget"

View Inline Image

    b. Select "Value from Data"

View Inline Image

    c. Select ResolvedByTarget

View Inline Image

Modify the Submit Incident Component

1. On the configuration tab, click on the ellipses next to "Specific Assignment"

View Inline Image

2. Only have "Process Variables" checked off.

View Inline Image

    a. Click on "Add Single"

    b. Select ResolvedAssignment

Close and save the model you are in.

Save and publish the project.

Reopen Incident Workflow

Set up the Catch All Group

Edit the SD.ReopenIncident project

View Inline Image

View Inline Image

1. Click on SD.ReopenIncident in the project pane.

2. Click on the Global Data tab.

3. Click on Add

4. On the new line created, type in a name of the variable (I named mine GLOBAL_Support_I)

5. Click on the ellipses in the Type column.

    a. Type in the word "assignment" in the search box.

    b. Select AssignmentTarget from the list.

    c. Click OK.

View Inline Image

6. Click on the ellipses in the Default Value column.

    a. Assignment Type is Group

    b. Display and Target Name is the group name you have on your notepad from section one of this document.

    c. The target ID is the Group ID you have on your notepad from section one of this document.

View Inline Image

Primary Model

View Inline Image

In the project pane select:

Model: Primary

View Inline Image

You want to add the Get Resolvers Assignment EmbeddedModelComponent right after "Get Process References" and before "Submit Incident Component". The components added and modified are in green in the screenshot.

Embedded Model Component - Get Resolvers Assignment

After adding the component, edit the component properties (right click and edit component)

View Inline Image

1. On the Settings tab, name the component "Get Resolvers Assignment".

2. On the Configuration Tab...

View Inline Image

3. Click the elipses next to Output Data

4. Click on Add

View Inline Image

    a. Type ResolvedAssignmentTarget as the Name

    b. Click on the ellipses under Type

View Inline Image

        i. Type in the word "assignment" in the search box.

        ii. Select AssignmentTarget from the list.

        iii. Click OK.

5. Click OK to get out of the parameters box.

6. Right click on Get Resolvers Assignment, edit model.

Model

This is what the model should look like after you build it. Please refer to this picture when adding or editing the components.

View Inline Image

1. Add a GetUserInfoByID component.

View Inline Image

    a. On the settings tab, name the component "Get Resolved User info by ID"

    b. On the Inputs tab, click on the ellipses next to the UserID field and select "Incident.ResolvedByUserID"

    c. On the Outputs tab, type in "ResolvedByUserData"

View Inline Image

2. Add a SingleValueMappingComponent

View Inline Image

    a. On the settings tab, name this component "Resolved User to Assignment"

    b. On the configuration tab

        i. Click the ellipses next to "Target Type"

View Inline Image

          1. Type in the word "assignment" in the search box.

          2. Select AssignmentTarget from the list.

          3. Click OK.

        ii. Click on the Ellipses for Mapping Definition.
Map the following values from ResolvedByUserData

          . DisplayName to DisplayName

          . PrimaryEmail to TargetName

          . UserID to TargetID

View Inline Image

        iii. Type in "ResolvedByTarget" on the Output Variable Name

3. Add InsertDataComponent

View Inline Image

    a. On the Settings tab, name the component "Add Assignment Type"

    b. On the Configuration tab

        i. Click the ellipses next to data type.

        ii. Search for AssignmentType (Type not target). Use similar steps as above on how to search and select types.

        iii. Value is type User

        iv. Variable name is "ResolvedByTarget.AssignmentType"

4. Add Exception Trigger Component

View Inline Image

    a. On the trigger tab, check "Put error in error log". This is optional but highly suggested during test.

5. Add CreateLogEntryComponent

View Inline Image

    a. Set the Log Entry Level to Warn (can downgrade after testing)

    b. Change the Log Entry Text to add descriptive information for the general exception error.

View Inline Image

6. Add Exception Trigger By Component

View Inline Image

    i. On the Trigger tab

        a. Select the Get Resolved User info By ID component.

        b. Check "Put error in error log" (suggested for testing)

7. Add Create Log Entry

View Inline Image

    a. Set the Log Entry Level to Warn (can downgrade after testing)

    b. Change the Log Entry Text to add descriptive information for the component exception error.

View Inline Image

8. Add SingleValueMappingComponent

View Inline Image

    i. On the settings tab, name the component "Catch All Group to Assignment"

    ii. On the Configuration tab

        a. On the settings tab, name this component "Resolved User to Assignment"

        b. On the configuration tab

          i. Click the ellipses next to "Target Type"

View Inline Image

            1. Type in the word "assignment" in the search box.

            2. Select AssignmentTarget from the list.

            3. Click OK.

          ii. Click on the Ellipses for Mapping Definition.
Map the following values from Global_Support_I (or whatever you named your catch all group)

            . DisplayName to DisplayName

            . TargetName to TargetName

            . TargetID to TargetID

View Inline Image

9. Add InsertDataComponent

View Inline Image

    a. On the Settings tab, name the component "Add Assignment Type"

    b. On the Configuration tab

        i. Click the ellipses next to data type.

        ii. Search for AssignmentType (Type not target). Use similar steps as above on how to search and select types.

        iii. Value is type Group

        iv. Variable name is "ResolvedByTarget.AssignmentType"

10. Edit the End Component

a. On the Configuration Settings, click the elipses next to "ResolvedAssignmentTarget"

View Inline Image

b. Select "Value from Data"

View Inline Image

c. Select ResolvedByTarget

View Inline Image

Modify the Submit Incident Component

1. On the configuration tab, click on the ellipses next to "Specific Assignment"

View Inline Image

2. Only have "Process Variables" checked off.

View Inline Image

a. Click on "Add Single"

b. Select ResolvedAssignment

Close and save the model you are in.

Save and publish the project.

Filed Under

Tags:

Comments

snm1502's picture
snm1502
Certified
Certified
10
Sep
2013

Hey Jamie, Thank you for a

Hey Jamie,

Thank you for a detailed step by step guide on this. This would certainly give us a great help.

However, how about instead of submitting a new incident (as a reopen) can we just actually reopen the requested incident? As per me, this could be done by removing the Submit Incident and other relevant components and changing the status to ticket back to open along with we would need to create a new task for the assignment group.

Not sure if this sounds correct and good to go. Please let us know your thoughts on this and also would there be any harm in doing this like any implications to the records written in various database tables.

Thanks
Snm1502