Open detail page for ticket with ticket number via url

Feature Request:
Open the detail page for a ticket with an url containing the ticket number (not the internal ticket id).

Currently there is no way to open the ticket detail page via a url from a external system.
The ticket urls are only containing the internal ticket id which is not the ticket number.

There should be an endpoint like:
https://abc.com/#ticket/external/<ticketnumber>

after opening this in the browser the detail page of the ticket will be displayed, same as if I use the internal ticket id url like:
https://tickets.ff-agent.com/#ticket/zoom/<internal ticket id>

solution could be to extend the search query url:
https://tickets.ff-agent.com/#search/number:<ticketnumber>
which only displays the ticket list page with an additional query Parameter to display directly the detail page. For example:
https://tickets.ff-agent.com/#search/number:<ticketnumber>?target=detail

Also it would help if there is a REST API to translate the ticket number to the internal ticket id.
So we can implement this on our external service to build up the url with the ticket id reference.

Best

5 Likes

We use the Zammad php API for that, like:

$ticket = $client->resource( ResourceType::TICKET )->get($id);
$ticket_title = $ticket->getValue('title');
$ticket_zoom = $zammad_api_client_config['url'] . '/#ticket/zoom/' . $id;

This URL can be used, e.g. we generate QR codes.

If you need the Ticket Hook (from Settings → Ticket, default: ‘Ticket#’), just compose the string?

$ticket_id = 'Ticket#' . $ticket->getValue('id');

Or did I misunderstand your question?

The problem is that the user uses the Ticket Number which is displayed in the Detail Page of a Ticket (#…) and paste it into our external system.

So we have no Ticket ID, only the (Public) Ticket Number.

And currently there is no way to directly resolve from Ticket Number to Ticket ID to create the zoom url to display the detail page of the ticket.

The first entry in the result from an API-search for a given ticket number is the ticket-id, which you can use to call the zoom url.

For example:
api/v1/tickets/search?query=number:958768

{
	"tickets": [
		878
	],
	"tickets_count": 1,
	"assets": {
		"Ticket": {
			"878": {
				"id": 878,
				"group_id": 4,
				"priority_id": 3,
				"state_id": 4,
				"organization_id": null,
				"number": "958768",
[...]
}

ok fine. Using the API this way should the way I go.

Independently of this it would be good if there is a web ui endpoint where I can provide the ticket number and get the ticket detail page in zammad web ui without using the REST api.

I can imagine there are many guys out there which are dont want to build a program to use the REST API for converting the ticket number to the ticket id to used at the end the zoom link.

Best

1 Like

I’ve created a PR for ticket number linking here

1 Like

Thanks to everyone involved to make that happen in Zammad 5.2.2!

FYI: To use this really nice feature you have to use:

/#ticket/zoom/number/10123

There were several proposals of the syntax that don’t work:

/#ticket/number/10123
/#ticket/external/10123
2 Likes

this is really great that this important features is finally integrated in zammad.
This way its not any longer required to use the web api to resolve the ticket id.

1 Like

Thanks for that. It was always a problem to enter a direct Ticket link in other systems like SAP with ticket number without going the way over the search function.

1 Like