Design and Implementation of a ChatOps Environment using the Framework Rasa

Ignacio Cervantes. (2021). Design and Implementation of a ChatOps Environment using the Framework Rasa. Final Career Project (TFM). Universidad Politécnica de Madrid, ETSI Telecomunicación.

Nowadays, it is common to interact through instant messaging with a machine to request services such as technical attention or information about an online order. Chatting online is an essential part of our day, especially in times like today when personal interaction is lim- ited. We are getting used to communicating through devices like computers or smartphones just like we do in person. As Artificial Intelligence advances and offers human-like responses, interacting with a machine is recognized as a useful tool and even desirable in some cases. Talking to an AI bot as if it is a person can offer new ways to work, and closes the gap between complex applications and users. In this context, the so-called Chatbots, consistent in an AI capable of simulating a human-like conversation, can offer a friendly user interface to automatize complex tasks and make them simpler. Moreover, Information Technology companies are confronting a revolution in recent years. Methodologies like DevOps introduced innovations in development and operations, focusing on giving the developers the independence and freedom to work in more flexible ways. Even if these changes bring automation and reliability to the previous workflows, they also come with complex tools and processes that require specialization. The objective of this thesis is to develop a case study of a chatbot integrated into a De- vOps environment, which is commonly known as ChatOps. In order to do this, we propose using the open-source chatbot framework Rasa. By using machine learning techniques to train its conversation models, the objective is to provide a way of operating a DevOps envi- ronment through conversation with the chatbot. To achieve this, a state-of-the-art DevOps environment will be deployed. This environment will consist in a containerized environment connected with the chatbot, which will sent orders based on the user messages. The development will be done using Rasa as the chatbot framework to make the use case, Python 3 as the main scripting language, Jenkins to manage the DevOps environment and Docker to build a containerized environment.