Video Screencast Help
Symantec to Separate Into Two Focused, Industry-Leading Technology Companies. Learn more.

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

Created: 27 Jun 2012 • Updated: 27 Jun 2012 | 1 comment
Language Translations
Jamie Brown's picture
+2 2 Votes
Login to vote

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

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.

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.

Incident Management Workflow

Set up the Catch All Group

Edit the SD.IncidentManagement project

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.

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.

Customer Confirm Resolution Model

In the project pane select:

Model: Customer Confirm Resolution

Screenshot of model

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)

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

2. On the Configuration Tab...

3. Click the elipses next to Output Data

4. Click on Add

    a. Type ResolvedAssignmentTarget as the Name

    b. Click on the ellipses under Type

    

        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.

1. Add a GetUserInfoByID component.

    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"

2. Add a SingleValueMappingComponent

    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"

          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

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

3. Add InsertDataComponent

    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

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

5. Add CreateLogEntryComponent

    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.

6. Add Exception Trigger By Component

    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

    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.

8. Add SingleValueMappingComponent

    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"

            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

9. Add InsertDataComponent

    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"

    b. Select "Value from Data"

    c. Select ResolvedByTarget

Modify the Submit Incident Component

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

2. Only have "Process Variables" checked off.

    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

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.

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.

Primary Model

In the project pane select:

Model: Primary

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)

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

2. On the Configuration Tab...

3. Click the elipses next to Output Data

4. Click on Add

    a. Type ResolvedAssignmentTarget as the Name

    b. Click on the ellipses under Type

        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.

1. Add a GetUserInfoByID component.

    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"

2. Add a SingleValueMappingComponent

    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"

          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

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

3. Add InsertDataComponent

    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

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

5. Add CreateLogEntryComponent

    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.

6. Add Exception Trigger By Component

    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

    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.

8. Add SingleValueMappingComponent

    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"

            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

9. Add InsertDataComponent

    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"

b. Select "Value from Data"

c. Select ResolvedByTarget

Modify the Submit Incident Component

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

2. Only have "Process Variables" checked off.

a. Click on "Add Single"

b. Select ResolvedAssignment

Close and save the model you are in.

Save and publish the project.

Comments 1 CommentJump to latest comment

snm1502's picture

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

0
Login to vote