-
-
FaiLED app logo (PNG)
-
Pipeline Activity Log Screen (Compass Global Page)
-
Pipeline Activity Log Screen (Compass Component Page)
-
Admin Screen (Compass Admin Page)
-
Component/Repository Configuration Screen (Compass Admin Page)
-
Pipeline Activity Log Screen applying filter, Light Theme (Compass Global Page)
Inspiration
As a software developer, test automation engineer or DevOps expert you probably work with CI/Cd tools on a daily basis, while you're encountering countless pipeline runs. Some of them are relevant, but most of them not. Anyway, it seems to be a true fact that the Signal-to-Noise ratio of pipelines listing pages is pretty low. If you have to find a failed pipeline and investigate its root cause, it may take more time than expected (and desired). We'd like to give a better tool for the people to overcome this constant hassle with searching, filtering, following links (switching tools/contexts), etc.
Besides this, it is a common problem in larger development teams, that certain issues have no real owners, thus problems can remin hidden for a long time, still blocking or slowing down people/processes. It's simply a communicational and organizational problem, but without the appropriate and up-to-date information it is hard to tackle them. Engineering managers and tech leads not necessarily follow development processes from close. To provide them an overview about the states of the recent pipeline executions could be a nice touch.
The philosophy behind our integration: The "Holy Trinity" of Component-Pipeline-Issue What connects everything is Compass' object model: a linked code repository, owner team and associated Jira project embraced in one central entity. However, basic Compass features involve modest data aggregation and presentation functionality (with no frills). We deeply believe that the intended purpose of Compass (or that of any DevOps portal) inherently has a potential for a more sophisticated use. Our solution aims to open doors to more advanced utilizations, like ETL apps providing actionable insights or even particular contextual actions. It wants to be an example, how Compass is suitable to directly drive changes and control processes, instead of passively displaying some very important statistical data. However, behind the scenes, there is an invisible, secret ingredient, too: AI (coming soon :))
What it does
The FaiLED app is software built into Atlassian’s Compass product (Atlassian’s centralized DevOps portal), which aims to increase the throughput of development teams by helping them focus on new/critical pipeline incidents, by taking the burden of root cause analysis of failed build pipelines off the team members and also by providing means to effectively manage, track and resolve incidents in various build pipelines (via linked code repositories).
The timely detection of the failing build pipelines will increase efficiency at the individual/team/company level.
The app is able to monitor several services (components) at the same time.
How we built it
Nothing special: we created an up-to-date TypeScript project template for Forge apps and then started to experiment. As a team of three people with moderate Forge knowledge, we had to investigate a lot of integration-related aspects to discover the current state and limitations of the Forge platform (or the Atlassian Cloud platform in general). After we managed to wire our app together (the main services, vertically), we could start the actual work, actually it was a bit too late...
Challenges we ran into
- Bitbucket Cloud integration of Compass: What it can do for us and what not? The operation principles and capabilities of webhook triggers and build events.
- The real capabilities of Forge Remote, e.g. to initiate cross-product API requests.
- Integrating Bitbucket Cloud and Jira Cloud OpenAPI descriptors, generating types, overcoming a lot of mismatches due to deficient or outdated resources. Using the 'openapi-fetch' client partially for schema-based, partially for custom URLs (see: pagination).
Accomplishments that we're proud of
A nice UI following Atlassian's look and feel, still using a custom UI. The technical foundation of a lightweight, still modern TypeScript-based React+Node.js Forge app with some tooling and cross-cutting-concerns (e.g. logging).
What we learned
A lot about Forge's current capabilities. Even more about Compass and Atlassian's 'One Platform' approach and its new Teamwork Graph philosophy.
What's next for FaiLED
Beyond spotting pipeline incidents, it's also crucial to be able to manage all the emerging tasks while trying to fix them (find the root cause of the problems, suggest solutions, assign Jira issues and track progress, etc.), all these powered by AI. First and foremost, we plan to extend the apps functionality in this direction to achieve a ready-to-market state.
In the future, the app will also provide filtered views and metrics to support the managers and tech leads to better understand and estimate the health of the build processes within their teams (or across multiple teams and products/services), including the possibility to escalate and track incidents upon need.
Built With
- forge
- forge-storage
- graphql
- node.js
- react
- rest
- typescript




Log in or sign up for Devpost to join the conversation.