[This post is available in English here.]
Muchas veces uno recibe un email o un mensaje de texto sobre un tique de JIRA, y uno querría poder abrirlo directamente. Para resolver eso, he creado un servicio usando Automator usando los siguientes pasos:
- Seleccionar el texto a usar, y con el menú contextual Servicios (Services en inglés, como en la pantalla) elegir la opción Crear Servicio (Create Service en inglés).

- En el nuevo servicio creado por Automator, hay que asegurarse que la opción de “El workflow recibe el XXXX seleccionado —Workflow receives current en inglés— corresponde a Automático (texto) —Automatic (text) en inglés— pare evitar tener problemas de formateado, pero aún así permitir que otros formatos/datos se puedan convertir en texto.

- Añadir a continuación el módulo Ejecutar script de shell (Run shell script en inglés) desde la sección Utilidades —Utilities en inglés—, y configuradlo para usar Python (
/usr/bin/python), y elegir la opción Pasar entrada como: argumentos (Pass input: as arguments en inglés) usarsys.argv, con el contenido de la caja de código de más abajo. - Añadir a continuación el módulo Mostrar página web en la sección Safari. Ese módulo utilizará la salida del módulo anterior —el URL construido por el código Python de arriba— y se lo pasará a Safari como URL para intentar abrirlo.
- Guardar el Workflow con el nombre Abrir ticket en JIRA. Aparecerá en el menú Servicios.
import sys # we use sys to get the input to the service
# in sys.argv
from urllib import quote # to convert high-ASCII and other
# into URL-compatible quoting
# get the text from the selection, and URL quote it
text_input = quote("".join(sys.argv[1:]))
# URL for the JIRA QuickSearch
jira_search_base_url = "https://path.to.jira.url/secure/QuickSearch.jspa?searchString={}"
# Output of the workflow done by a print
print(jira_search_base_url.format(text_input))
A partir de ese momento, se puede usar el menú Servicios > Abrir Ticket en JIRA después de seleccionar un texto, y JIRA hará una búsqueda inteligente: si la selección corresponde a un nombre de proyecto, se hará una búsqueda por proyecto; si la selección corresponde a un ID de ticket the JIRA, se abrirá directamente el ticket; y si lo que seleccionas es un texto cualquiera, se hará una búsqueda por ese texto en JIRA.
El resultado final —en mi máquina en inglés— es el siguiente:

Si no quieres complicarte la vida, puedes descargar el siguiente servicio, descomprimirlo, y luego instalarlo en Automator con doble clic: Open SKA JIRA issue.workflow.
¡Espero que os haya sido útil!
Actualización 26/02/2020
Antes que nada, tengo que dar las gracias a @flyingfrog por la sugerencia de utilizar el URL de búsqueda inteligente de JIRA, en lugar de construir un URL a mano. Acabo de comprobar que se puede usar, por ejemplo, sobre un texto que contenga una consulta JQL (JIRA Query Language), y la parte del proyecto se interpretará correctamente, pero el resto se pasa a una consulta tipo text ~"rest of JQL", de modo que hay que editar un poco el resultado, pero es fácil usarlo para tener un inicio de consulta y después retocarla.
Actualización 07/07/2022
Automator ya no muestra /usr/bin/python o /usr/bin/python3 en la lista de posibles shells, pero si tienes instalado un Python en /usr/local/bin, por ejemplo con MacPorts o Homebrew, también aparecen. En ese caso, es necesario instalar la biblioteca de funciones Python requests con la instrucción /usr/local/bin/pip3 install requests, y cambiar en el código de arriba la línea from urllib import quote para que en su lugar diga from requests.utils import quote.
Comentarios
Una respuesta a «Creando un servicio para abrir un tique de JIRA concreto»
[…] [Este artículo esta disponible en español en este enlace.] […]