The Starting Point: Collective Knowledge
Knowledge Management is one of the most important parts of a successful business. JIRA and Confluence are great tools for maintaining knowledge around your products.
The Challenge: Diagnosis of Previously Known Issues
As the size of the set of known issues grows, a challenge emerges: getting the info out of our systems can be difficult. Research and troubleshooting is required just to diagnose something that was already known. This is exacerbated by bug reports that don't contain examples of the stack traces they throw and issues filed in mysterious places. Even easy to find bugs incur delays.
The Solution: Regular Expressions
We're in luck - using a Regular Expression, Java stack traces thrown in application log files are distinctive enough to match with a high degree of accuracy. If each JIRA bug report or Confluence Knowledge Base article is tagged with a Regular Expression, it's corresponding entry in a log file can be detected automatically!
Rather than using search terms, a Regular Expression can match the exact stacktrace an error throws, thereby replacing the need to hunt for the error. The Regular Expression is entered directly into a JIRA bug report or Confluence Knowledge Base article. Support has begun this task of marking each issues to match the errors that appears in the logs.
Sisyphus is the Greek mythological figure condemned to repeat forever the same meaningless task of pushing a rock up a mountain, only to see it roll down again, much like the experience of doing a rewarding job for a customer, only to find the next anxious customer awaiting.
If only Support Engineers could have a Sisyphus like character doing our boulder pushing for us - a system that will present the existing knowledge after matching an exception in a log. That way, the collective knowledge tied up in JIRA or Confluence is automatically linked to the incident. This is the ultimate goal of the Sisyphus project. Its first iteration allows for easy entry of regular expressions, so we can more easily extract the information that's already known by the Atlassian organism, then a simple display using desktop client or greasemonkey browser script. Once an issue is tagged, it's added to a master definitions file for automatic scanning of customer logs.
How it Works
Support Engineers tag JIRA issues and Confluence KB articles with Regular Expressions directly. That way, our daily workflow is not interrupted - it's right there in the bug report and belongs to it, rather than stored in an external system. Sisyphus Administrator is a component that queries JIRA and Confluence, building definition files over time, as issues are tagged. The definitions are consumed by Hercules. Here's how it all fits together in Atlassian's implementation:
Revamped Knowledge Base
Because of the integration with Sisyphus, Support has also revamped our Knowledge Base. We've improved the look and feel and split it out into product-specific spaces. Check out the Confluence Knowledge Base for an example.