Abstract:
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.