
step that has failed, thus restricting the amount of logs
to analyse, examining the failed step’s logs is still la-
borious. As such, manually inspecting logs to find the
root cause of the problem proves to be impractical and
remains a software engineering challenge to address.
To overcome the above mentioned limitations, we
propose a new component integrated with our pre-
viously developed ITS, Bugsby (Picus and Serban,
2022), which implements various Natural Language
Processing models to automatically analyse an issue
report, a subset of them being used in this newly im-
plemented component. As a CI/CD pipeline fails,
this new component automatically fills an issue re-
port containing details extracted from the pipeline’s
logs, thus, directly presenting software developers the
failure’s root cause. With this feature in mind, we be-
lieve our tool contributes to automating the software
maintenance process.
Therefore, the contribution of this paper is two-
folded. Firstly, it proposes a new tool which combines
the capabilities of ITSs and CI/CD tools for achieving
automatic log analysis of pipeline failures. Secondly,
it presents an integration with GitHub Actions for the
purpose of improving the workflow of software devel-
opers and facilitating the software maintenance pro-
cess.
The rest of the paper is organised as follows. Sec-
tion 2 presents related works on connecting ITS and
CI/CD tools. Section 3 describes Bugsby’s imple-
mentation, alongside its limitations, with Section 4
detailing its preliminary evaluation. Section 5 con-
cludes the paper, also highlighting planned future
work.
2 RELATED WORK
One could argue if ITSs and CI/CD tools should even
be connected in the first place, but we believe this con-
nectivity would bring benefits in areas such as bug
triage or issue resolution.
However, research on this subject is limited.
When researching CI/CD tools, the academia focuses
on comparing various tools in terms of viability, per-
formance and other metrics (Singh et al., 2019) and
proposing further actions to automate the CI/CD pro-
cess (Nogueira et al., 2018).
Park et al. (Park and Choi, 2022) have proposed
in their work an issue tracking system based on Dev
Ops whose main feature is that the ITS collects in-
formation from the CI/CD tool and links the commit
message to the corresponding issue. Nevertheless, we
believe the connectivity between these two systems is
not fully leveraged, as it is only used to link an al-
ready raised ticket to a pipeline run. In addition, it is
not clear how their proposed system behaves in case
of a failure, which CI/CD tool they have used in their
implementation and how the commit message is pro-
cessed in order to match it to an existing issue.
Jenkins’s behaviour, including that in case of a
pipeline failure, can be configured using plugins.
However, plugins which connect Jenkins to ITSs such
as Jira (Jenkins, 2023b) are limited. They are only
used to connect a CI/CD pipeline run to an issue,
its only benefit being visibility. In addition, plugins
which analyse the logs after a CI/CD failure such as
(Jenkins, 2022) use a knowledge base composed of
regular expressions that the user has to manually add
in; disadvantages of this approach include difficulty
in defining regular expressions for more complex and
multi-line logs and inability of the plugin to recognise
patterns in the messages out of the box.
Concerning GitHub Actions, its behaviour can be
similarly configured using plugins. For connecting
with Jira, multiple plugins are available
1
; however,
they are only used for accessing Jira’s features, such
as creating issues or changing the status of an issue,
in the GitHub Actions environment, with little to no
new functionality added.
In relation to existing approaches, our proposed
tool makes valuable contributions, connecting an ITS
and a CI/CD tool in an innovative way by enabling
automatic log analysis for pipeline failures, becom-
ing, in this manner, a potential tool for reducing the
time and cost of maintaining software systems.
3 TOOL OVERVIEW
To improve the process of inspecting logs of failed
CI/CD pipeline runs, we have extended our previ-
ously developed tool, Bugsby (Picus and Serban,
2022), by integrating it with GitHub Actions, in order
to leverage its CI/CD capabilities. Using log analysis,
our tool will construct for each failed CI/CD pipeline
run a prefilled issue, containing details regarding the
root cause of the failure, aimed at improving visibility
and minimising developers’ time in terms of debug-
ging and resolving issues.
3.1 Choosing the CI/CD Tool
We first had to decide which CI/CD tool Bugsby
should connect to. For this, we have chosen GitHub
Actions for three reasons. Firstly, GitHub has become
in time the industry leader when it comes to code
1
https://github.com/search?q=jira&type=marketplace
ENASE 2024 - 19th International Conference on Evaluation of Novel Approaches to Software Engineering
380