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