Trabajar en soporte siempre tiene esto del control no? Hace muchos a帽os que trabajo con sistemas y cuando no hay control de mediciones fuertes basadas en SLA por ejemplo, casi siempre hay alg煤n gestor de tickets. El tema es que, desde hace m谩s de 6 meses volv铆 a trabajar en una empresa que me asigna "tickets" de soporte, tareas, en fin... responsabilidades varias.

Excel siempre fue mi mejor amigo. A los 3 (tres) d铆as que tom茅 contacto con el gestor de los tickets, que se denomina "Mesa de Servicios" en esta empresa, desarroll茅 un macro que a diario me calcula las horas faltantes y en base a las asignaciones y tareas realizadas en el d铆a, voy checkeando (tildando) lo que hago, y cu谩nto tiempo me lleva, m谩s el c谩lculo de cu谩nto tiempo me falta para cerrar el d铆a.

Hasta que lleg贸 PLANNER ... pero... c贸mo integrar la "Mesa de Servicios" a Planner? Son dos sistemas distintos, dos dominios distintos .. en el medio, los PMO asign谩ndome tareas y yo pensando que podr铆a hacerse todo desde Planner... y automatizarlo a Excel ¿por qu茅 no? 

Proyecto Automatizar Planner y Gestor de Tickets



As铆 que este finde le toc贸 al mate y al c贸digo, JS vs DOM ... les cuento c贸mo me fue a continuaci贸n.



“Cuando el trabajo te da muchos clicks, dale t煤 los scripts.”

¿De qu茅 va esto?

Este proyecto naci贸 de la eterna lucha del usuario curioso (¡yo!) contra los sistemas web que quieren hacerte perder tiempo.


La misi贸n: integrar tareas desde Mesa de Ayuda a Microsoft Planner de la forma m谩s autom谩tica y humana posible (sin API, sin permisos especiales… solo puro ingenio y JavaScript directo en el navegador).


Workflow

  1. Exportar a JSON desde Mesa de Ayuda
    (Gracias, bookmarklet #1: dom1)
    Toma las solicitudes, las vuelca a un JSON, y lo guarda en memoria (o lo muestra).

  2. Sumar tareas desde TAREAS
    (Bookmarklet #2: dom2)
    Agrega todas las tareas del DOM, incluso si no estaban en solicitudes originales.
    Al final, te muestra el JSON completo listo para copiar.

  3. Importar ese JSON en Planner
    (Bot贸n +JSON)
    Pega el JSON copiado y el sistema lo procesa, dej谩ndolo listo para iterar.

  4. Buscar cada nodo en Planner
    (Bot贸n +Buscar)
    Recorre el planner, busca cada t铆tulo/id.
    Si existe, lo ves. Si no, pasas al siguiente paso.

  5. Crear tarea nueva si no existe
    (Bot贸n +Nueva Tarea)
    S铆, Microsoft: ¡te hackeamos el clic!
    El flujo final es:

    • Busco el t铆tulo.
    • Si no existe, creo una tarea dummy.
    • Doble clic para editar.
    • Bot贸n +Nueva Tarea me pega el t铆tulo correcto (o lo copio si la protecci贸n anti-robot me gana).
    • ¡Trabajo creado!
  6. Fin
    A tomar mate, que ya hicimos la magia.


Estado del arte

  • Bot贸n 1: Terminado
  • Bot贸n 2: Terminado
  • Bot贸n +JSON, +Buscar, +Cargar Nueva tarea: Listos y funcionando
  • Solo falta que Planner deje de ponerle anti-robots a todo (pero as铆 tiene m谩s sabor)

¿Por qu茅 me enorgullezco de esto?

  • Porque automatizar cuando nadie te da la API es el verdadero arte digital.
  • Porque ning煤n clic es obligatorio si tienes imaginaci贸n (y un poco de DOM y JS).
  • Porque un buen workflow se mide en clics ahorrados (y valor agregado que te das probando y aprendiendo l贸gica y programaci贸n).

Si vuelvo a leer esto en 10 a帽os...

Recordar:

  • Si algo parece imposible, seguro solo hay que entender c贸mo piensa el sistema (o hackearlo con cari帽o).
  • Los “no se puede” son solo bugs esperando ser documentados (¡y resueltos!).
  • Y si todav铆a existe Microsoft Planner… probablemente siga teniendo el mismo bug del input.
    (¡Ojal谩 que no, pero por las dudas, guarda este art铆culo!)


“No te olvides nunca de jugar con la tecnolog铆a.”

SidVal & ChatGPT 馃