Un chatbot para automatizar tareas SDLC


Los chatbots son una de las tecnologías con más futuro en el sector de los servicios financieros. Sus posibilidades para agilizar trámites en bancos han generado una gran expectativa en torno a ellos. En definitiva, se trata de una aplicación directa de la inteligencia artificial a los servicios financieros.

Desde el centro de competencia de DevOps & Cloud, preparamos una prueba de concepto para demostrar cómo las herramientas SDLC pueden integrarse utilizando una interfaz de chat, automatizando tareas tediosas mientras un bot monitoriza los subsistemas relacionados y lo notifica a los usuarios.

Las tareas SDLC (Software Development Life Cycle) hacen referencia a actividades como realizar modificaciones en el código, desplegar cambios en los entornos de pruebas o producción, testear la aplicación, crear versiones, coordinar equipos, asignar incidencias, etc.

En la demo pudimos interactuar dentro de los siguientes subsistemas solo usando el HipChat:

  • Jira: Sugerir, asignar, iniciar, detener y cerrar un ticket.
  • Jenkins: Usando NSD Jenkins del centro de competencia de DevOps & Cloud, después de hacer un cambio en el repositorio de GIT, la interconexión se inicia y se notifica a través de HipChat cuando se completa. Además, creamos nuevas tareas emulando la implementación a las instancias de int/uat/prod, recibiendo notificaciones cuando la implementación ha finalizado en cada entorno.
  • Equipos: notificando a los equipos como el de testeo del proyecto cuando se lanza una nueva versión en uat, y esperando su aprobación para pasar a producción. Cuando se recibe la aprobación del equipo de testeo, el implementador puede activar la subida a producción.
  • Herramientas procedentes de Agile como un temporizador pomodoro, y también podría responder a información corporativa, por ejemplo, cómo pedir vacaciones o qué hacer en caso de un desglose de datos, las preguntas habituales para los nuevos empleados.

Como NLP (Natural Language Processor) elegimos DialogFlow (también conocido como API.AI) de Google para tratar las similitudes entre las frases que llaman a un webhook para procesar todas las solicitudes. Proporciona capacidades similares como los equivalentes de Amazon o Bluemix. DialogFlow admite la integración con muchas herramientas de mensajería instantánea (IM) como Slack o Skype, pero aún no es compatible con HipChat, por lo que implementamos una integración utilizando API REST de HipChat que funcionó en GFT HipChat.

A continuación, añadimos una transcripción de una conversación con el chatbot resultante de la prueba de concepto que realizamos:

hi
->bot: Howdy.
 hello
->bot: Good day!
 how are you?
->bot: Couldn’t be better.
 pomodore on
->bot: Pomodoro Timer Started!
 ready for development
->bot: Jira SDLC-1204 is not assigned. https://jira.gft.com/browse/SDLC-1204
 i like it
->bot: Jira SDLC-1204 is yours..
 jira start
->bot: Jira SDLC-1204 progress started.
 jira close easy peasy
->bot: Jira SDLC-1204 is closed.
->bot: Great! Build completed Successfully. Wanna deploy to INT?
 deploy to int
->bot: Jenkins job triggered for deployment to INT.
->bot: Deployment to INT completed. Wanna promote to UAT?
 deploy to uat
->bot: I will  send an email to the testing team and contact to a free UAT testing guy to start testing the environment once the deployment is completed. Jenkins job triggered for deployment to UAT.
->bot: Deployment to UAT completed
->bot: Tester. Could you please test UAT?
->bot: !!!!! – Pomodoro Timer Ended – !!!!!
 test ok
->bot: The testing team completed the testing.
->bot: Tester. Thanks for testing!
 what happens with current users?
->bot: I will perform a blue-green deployment using new machines to start all the services prior to redirecting new requests to new environment, and removing the old environment when no one uses it.
 deploy to prod
->bot: Jenkins job triggered for deployment to PROD.
->bot: Deployment to PRD completed
 i am planning holidays
->bot: I am not integrated with the workspace yet. https://workspace.gft.com/index.php?id=absence
 databreach
->bot: Any data leak must be notified at: databreach@gft.com

Esperamos añadir más funciones al chatbot y preparar un entorno para que todos experimentemos y podamos mejorarlo. Ahora es un nuevo activo del centro de competencia y podría mostrarse a futuros clientes. Se puede conseguir mejorar el rendimiento del equipo automatizando muchas tareas diarias o repetitivas en el proceso de desarrollo de software, añadiendo más confianza y acelerando los pasos requeridos.

Consideramos la tecnología de los chatbot algo fundamental y con un gran futuro en el sector de los servicios financieros. Nuestra prueba de concepto demuestra que podemos trabajar en este tipo de servicios y ofrecer lo último en chatbots. Esperamos poder aplicarlo e implantarlo pronto con nuestros clientes.