Create Duplicate or Child Incidents
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-25-2014 12:14 PM
I think this has been asked before but I couldn't remember if it got answered specifically -
Is there an OOB way to quickly create child or essentially duplicate tickets off of one ticket that may be about to be resolved?
When processing new hires we essentially have 2 separate processes - account and deployment. Accounts come first, and our HR process generates these, but once the account people get done doing their stuff they usually transfer that ticket to the deployment people.
This is fine to get the work done, but sometimes it makes it hard to see the account teams throughput then b/c they're not actually resolving the tickets, just handling it along the way. If there was a way to quickly/easily create essentially the same ticket, but maybe change 1 or 2 features (ex. queue or category), so they could maybe resolve their ticket and likewise create a deployment ticket, I'd like to understand it.
There are a few business processes I'm leaving out that we'd have to work through, but if I could understand better the above i could present all options.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-25-2014 12:20 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-25-2014 12:28 PM
Hello,
Hereunder you have an UI action button in this incident form that can be used to duplicate any incident.
Of course you can customize this snippet with your own variables following your needs.
1 - Create New UI action for the incident form
Name = Duplicate
Table = Incident
Action name = Duplicate
Active = checked
Show insert = checked
Show update = checked
Form button = checked
Condition = (you can show this button for a specific role if needed, for instance level1) => gs.hasRole("level1")
Script =
----------------------------
//create a new Request record and populate fields
var inc = new GlideRecord("incident");
inc.u_source = "Proactive";
inc.caller_id = current.caller_id;
inc.u_user_id = current.u_user_id;
inc.location = current.location;
inc.cmdb_ci = current.cmdb_ci;
inc.u_application = current.u_application;
inc.assignment_group = current.assignment_group;
inc.short_description = current.short_description;
inc.description = "Incident duplicated from " + current.number + "\n" + current.description;
inc.category = current.category;
inc.subcategory = current.subcategory;
inc.impact = current.impact;
inc.urgency = current.urgency;
inc.insert();
//Copy any attachments from the incident record to the request record
Packages.com.glide.ui.SysAttachment.copy("incident", current.sys_id, "incident", inc.sys_id);
//update existing Incident record
current.work_notes = "This incident has been duplicated to " + inc.number;
current.update();
//provide onscreen feedback and set URLs
gs.addInfoMessage("Incident " + inc.number + " duplicated from " + current.number);
action.setRedirectURL(inc);
action.setReturnURL(current);
----------------------------

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-25-2014 12:28 PM
What kind of ticket are you creating today? Why not use Requests? One request item can go to one group and another to another group. When each group is done, they can close their request.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-25-2014 12:33 PM
Right now they're coming in as Incidents as yet we have not opened up our service request queue/catalog (yes, I'm ITIL certified, I know that's technically incorrect).
In the future yes, both tickets would be service requests, but as that isn't open at this point (or, not sure how we'd like to Workflow that out at the REQ/RITM level) I figured this would be the simplest route right now.