El plugin Helpdesk de RedmineCRM permite convertir nuestro Redmine en un completo sistema de helpdesk para uso interno o externo. Cuando un usuario o cliente envía un correo electrónico a un buzón de correo configurado como helpdesk, podemos convertirlo directamente en una tarea de nuestro Redmine.
Sin embargo, este proceso debe realizarse manualmente pulsando en “Recibir mensajes”, lo que nos obliga a tener configurado el buzón en nuestro programa de correo electrónico y estar pendiente de él.
Existe la posibilidad de que el proceso sea totalmente automatizado. Los pasos para conseguirlo son los siguientes:
- un usuario/cliente envía un correo electrónico;
- un proceso interno del servidor lee los buzones de recogida de emails cada cierto periodo de tiempo (5 minutos, 20 minutos, 1 hora, …, lo que consideremos más oportuno);
- cuando encuentra un mensaje en un buzón, crea el ticket en Redmine;
- avisa al usuario del proyecto de la nueva tarea;
- lanza un acuse de recibo al emisor del correo electrónico.
Como digo, este proceso puede ser totalmente automatizado. Voy a explicar cada uno de los pasos a continuación:
1. Un usuario/cliente envía un correo electrónico
Aquí no hay mucho que decir. Eso sí, tenemos que tener ya activado el módulo de Helpdesk en nuestro proyecto y configurada correctamente el buzón que va a recoger los mensajes.
Es importante que cada buzón esté configurado únicamente en un proyecto, porque si estuviera en varios nos podríamos encontrar con incongruencias del sistema.
2. Un proceso interno del servidor lee cada periodo de tiempo los buzones de recogida de emails
Voy a explicar esto lo más detalladamente posible, porque es el paso más crítico para que el proceso automatizado funcione correctamente.
La recogida de emails se puede producir de dos formas: mediante la API de Redmine o mediante el proceso “rake” del sistema. Aquí sólo voy a explicar la primera posibilidad ya que es la más eficiente de las dos, debido a que consume menos recursos del servidor.
Recogida de emails mediante REST API:
- Configuramos Redmine para activar REST API: ir a Administración > Configuración > Correos entrantes > Activar SW para mensajes entrantes. Le damos a Guardar y copiamos la clave de la API generada.
- Nos conectamos por SSH a nuestro servidor
- Nos ubicamos en el directorio raíz de Redmine
- Abrimos crontab:
- Incluimos la siguiente instrucción: */5 * * * * wget -O – http://127.0.0.1/helpdesk_mailer/get_mail?key=XXXXXXX (hay que sustituir la clave del final por la clave API generada en el primer punto.
- Guardamos y salimos de crontab
En la cabecera de este post tienes un video que he grabado con los pasos anteriores.
3. Cuando el sistema encuentra un mensaje crea el ticket en Redmine
Efectivamente, cuando hayamos realizado los pasos anteriores, sólo nos quedará esperar el tiempo definido para ver cómo ese mensaje de correo se ha convertido en una tarea de Redmine donde:
- el asunto de la tarea es el asunto del mensaje
- la descripción de la tarea es el cuerpo del mensaje
- la fecha de inicio es la fecha de entrada del email en el sistema
4. El sistema avisa al usuario del proyecto de la nueva tarea
Para ello tenemos que asignar las nuevas tareas a un usuario en concreto. Dentro del proyecto que tenga el módulo de Heldpesk activado, tenemos que ir a Configuración > Helpdesk > Asignar ticket a > indicar el usuario.
5. Acuse de recibo al emisor del correo electrónico
El plugin de Helpdesk lanza la autorrespuesta configurada en el módulo de Helpdesk del proyecto. Para ello tenemos que tener activadas las autorrespuestas en la configuración del módulo del proyecto (Configuración > Plantilla de Helpdesk > marcar “Enviar autorespuesta”.
Bien, pues así queda completado todo el ciclo automático, desde que se envía el mensaje por parte del cliente hasta que le acusamos recibo a través del Helpdesk creado con el plugin de RedmineCRM.
Si tienes alguna duda acerca de algún paso o hay algún detalle que no te ha quedado claro, por favor, comenta más abajo.
Y si te ha interesado el post y crees que es de utilidad para otros usuarios, por favor, ¡comparte la entrada en redes sociales!
Mil gracias.
Buenas tardes, en caso de que el usuario quiera responder al correo de notificación de apertura de ticket indicando alguna anoración ¿la nota se adjuntaría automáticamente como nota del ticket?
Hola, Beatriz.
Correcto, en el momento en el que el usuario responda al acuse de recibo o a comunicaciones sucesivas sobre ese ticket, su mensaje se añadirá como nota al ticket.
Saludos,
Luis
Buenos días,
¿no hay opción de tener un correo genérico? ¿Es necesario tener un buzón de correo por proyecto?, porque esto lo veo inmanejable.
Gracias
Buena pregunta, Moisés. No es necesario tener un buzón por proyecto. Puedes tener un único proyecto de “entrada”, donde configuras el buzón único para todos los correos entrantes. Luego puedes decidir tener un único proyecto de “salida” (el mismo que el de entrada), desde el que responderías, o bien tener varios subproyectos (si los equipos de trabajo que responden son diferentes). En ese caso, tendrías que configurar el módulo de Helpdesk sólo con los datos del servidor de correo saliente en esos subproyectos, pero no indicar los datos del servidor entrante. Espero haberme explicado correctamente.
Buenas tardes he configurado como se indica, pero desde el crontab al ejecutar me deja error 404 Not Found
–2021-07-12 20:15:01– http://127.0.0.1/helpdesk_mailer/get_mail?key=xxxxxx
Resolving .. (redmine_home.cl)… 192.0.1.12
Connecting to redmine_home.cl (redmine_home.cl)|192.168.104.40|:443… connected.
HTTP request sent, awaiting response… 404 Not Found
Que puede estar mal? saludos
Hola, Juan Alexis.
Tienes que cambiar las “xxxx” indicadas en el ejemplo por la clave API de tu Redmine, que encontrarás en Administración > Configuración > Correos entrantes > Clave de la API. Si no tienes una creada, pulsa sobre “generar clave”.
Saludos.