Like many large companies, mine uses BMC Remedy for IT Service Management. One of the seemingly simple tasks that’s often asked of us is to create a page or report that links ticket numbers to their listings in Remedy. This is more difficult that it ever should need to be, but doable with a little work. Note that the following was tested on BMC Remedy 7.6. as, unfortunately, I have no other environment to test in.
Creating a Link to Remedy
Remedy create a direct link much more difficult than it should be. In essence, we’re forced to construct a search for the ticket. The basic format for this:
https://**SERVER**/arsys/forms/itsmsys76/SHR%3ALandingConsole/Default+Administrator+View/?mode=search&F304255500=**TYPE**&F1000000076=FormOpen&F303647600=SearchTicketWithQual&F304255610=**FIELD**%3D%22**TICKET**%22
The four variables needed to complete the above URL are:
- **SERVER**: The path to your Remedy server. Often something like “remedy.company.com“.
- **TYPE**: A string indicating the type of console to open, based on the ticket type:
- INC: HPD%3AHelp+Desk
- PBI: PBM%3AProblem+Investigation
- PKE: PBM%3AKnown+Error
- CRQ: CHG%3AInfrastructure+Change
- TSK: TMS%3ATask
- WOI: WOI%3AWorkOrder
- **FIELD**: The internal identifier of the field to be searched, based on the ticket type:
- INC: ‘1000000161’
- PBI: ‘1000000232’
- PKE: ‘1000000979’
- CRQ: ‘1000000182’
- TSK: ‘1’
- WOI: ‘1000000182’
- **TICKET**: The full 15-character ticket number being searched for.
While there are other types of tickets (for example, Configuration Items), I couldn’t determine values that worked. For one-off implementations, manually generating the link is simple enough, but with a little scripting we can easily make portable solution.
Scripting the Link
To make this easier to use, here’s a JavaScript function that accepts a string (a list of Remedy tickets) and opens a new window for each one passed:
// Helper Tool to open Remedy Instances function Remedy_OpenTickets(Tickets) { // Set Server Name var Server = "remedy.company.com"; // Replace any spaces Tickets = Tickets.replace(/ /g, ""); // Create an Array Tickets = Tickets.split(","); // Loop over the Array for (var cnt = 0; cnt < Tickets.length; cnt++) { // Get the Ticket Number var CurTicket = Tickets[cnt].trim(); // Get the Ticket Type var CurType = CurTicket.substring(0,3).toUpperCase(); // Determine parameters switch(CurType) { case "INC": var P1 = "HPD%3AHelp+Desk"; var P2 = "'1000000161'"; break; case "PBI": var P1 = "PBM%3AProblem+Investigation"; var P2 = "'1000000232'"; break; case "PKE": var P1 = "PBM%3AKnown+Error"; var P2 = "'1000000979'"; break; case "CRQ": var P1 = "CHG%3AInfrastructure+Change"; var P2 = "'1000000182'"; break; case "TSK": var P1 = "TMS%3ATask"; var P2 = "'1'"; break; case "WOI": var P1 = "WOI%3AWorkOrder"; var P2 = "'1000000182'"; break; }; // Create the URL var CurURL = "https://" + Server + "/arsys/forms/itsmsys76/SHR%3ALandingConsole/Default+Administrator+View/?mode=search&F304255500=" + P1 + "&F1000000076=FormOpen&F303647600=SearchTicketWithQual&F304255610=" + P2 + "%3D%22" + CurTicket + "%22"; // Open a tab for each of the passed Tickets window.open(CurURL, '_blank'); }; // Return true (success) return true; };
This can be easily integrated into a web page or SharePoint site.
How would this be configured for REQ? I’ve got the others (e.g., INC, CRQ) working, but REQ is not addressed here.
Apologies – life got in the way for a few months there.
I remember looking for REQ tickets and not being able to determine the code/key to make them work. Unfortunately I no longer have access to a Remedy environment to continue testing this as we migrated to ServiceNow late last year.
Hello,
Maybe this comes a bit late, but if that can help. Took quite a while but found how to configure for REQ : You do as for INC but change field ‘1000000161’ by ‘1000000869’
Hi thanks
it works except for tasks