From 2d46ff563300acf5593d98300cd3eb242748ec8d Mon Sep 17 00:00:00 2001 From: Raam Dev Date: Tue, 17 Dec 2019 13:56:52 -0500 Subject: [PATCH] Add support for configuring environment variables This lets you more easily change the Zendesk URL and other variables. See raamdev/alfred-zendesk-search#1 --- Zendesk Search.alfredworkflow | Bin 31999 -> 32503 bytes src/info.plist | 34 ++++++++++++++++++++++++++++------ 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/Zendesk Search.alfredworkflow b/Zendesk Search.alfredworkflow index 2b7a9da2f377f7289bf2d439aec59ab0b90c57cf..f68ec9c644d71f6f8340dae678f1e90c13abd2f5 100644 GIT binary patch delta 2939 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 z002vT000000wtKj diff --git a/src/info.plist b/src/info.plist index 2837067..ce85b5c 100644 --- a/src/info.plist +++ b/src/info.plist @@ -74,7 +74,7 @@ createdby Raam Dev description - + Opens in your existing Zendesk tab! disabled name @@ -100,7 +100,7 @@ query=$1 /usr/bin/osascript << EOT set searchQuery to "$query" - set serverURI to "https://wordpressvip.zendesk.com" + set serverURI to (system attribute "zendesk_url") set browserURL to "/agent/search/1?q=" & searchQuery set found to false @@ -193,6 +193,8 @@ EOT <?php $query = $argv[1]; $query_url = rawurlencode( $query ); +$subdomain_regex = getenv('subdomain_regex'); +$domain_regex = getenv('domain_regex'); // Matches variations of "#88888" or "#88888-z" or "88888" and captures just the ticket number $ticket_num_regex = '/^(?:\#?)(\d+)(?:\-?z?)$/'; @@ -204,7 +206,10 @@ $ticket_num_regex = '/^(?:\#?)(\d+)(?:\-?z?)$/'; // http://vip-support.automattic.com/tickets/88888 // https://wordpressvip.zendesk.com/agent/tickets/88888 // -$ticket_link_regex = '/^(?:https:\/\/href.li\/\?)?(?:http|https):\/\/(?:wordpressvip|vip-support)\.(?:zendesk|automattic)\.com\/(?:agent\/)?tickets\/(\d+)$/'; +// Configure 'subdomain_regex' and 'domain_regex' workflow environment variables +// to match your ZD instance and any variations of the URL that should be matched. +// +$ticket_link_regex = '/^(?:https:\/\/href.li\/\?)?(?:http|https):\/\/(?:'. $subdomain_regex .')\.(?:'. $domain_regex .')\.com\/(?:agent\/)?tickets\/(\d+)$/'; if ( preg_match( $ticket_num_regex, $query )) { echo preg_replace( $ticket_num_regex, '$1', $query ); @@ -286,7 +291,7 @@ query=$1 /usr/bin/osascript << EOT set ticketId to $query - set serverURI to "https://wordpressvip.zendesk.com" + set serverURI to (system attribute "zendesk_url") set browserURL to "/agent/tickets/" & ticketId set found to false @@ -351,7 +356,11 @@ EOT readme - + Opens in your existing Zendesk tab! + +This is an Alfred workflow for opening Zendesk searches in an existing Zendesk tab. While there are plenty of Alfred Zendesk workflows that perform searches and open tickets in Zendesk, they all seem to have one annoying flaw: They open a completely new Zendesk instance in a new browser tab each time, ignoring any existing Zendesk tab. This results in lots of extra tabs and makes it harder to keep track of Zendesk-related tickets, searches, etc. + +This workflow solves this problem by using AppleScript and JavaScript to look for an existing Zendesk tab in Google Chrome and then uses that Zendesk instance to open a ticket or perform a search.💥 uidata 3BDF17C2-81E2-421A-8D8B-5456DD860AE6 @@ -397,7 +406,20 @@ EOT 10 + variables + + domain_regex + zendesk|automattic + subdomain_regex + wordpressvip|vip-support + zendesk_url + https://wordpressvip.zendesk.com + + variablesdontexport + + version + 1.0 webaddress - + https://github.com/raamdev/alfred-zendesk-search