Introduction
So… this week was quite a journey. After exploring a few repositories for Hacktoberfest, I came across OpenCTI, a large open-source threat intelligence platform. At first glance, it looked a bit intimidating — the project is huge, with multiple modules and a complex frontend-backend setup. But that’s exactly what made me curious to give it a shot.
Discovering the Issue
While browsing through beginner-friendly issues, I found one titled:
“Playbook update drawer title is wrongly named ‘Update a decay rule’” (Issue #12824)
The label said “good first issue”, so I decided to go for it. Even though it looked like a small UI change, it was a good opportunity to understand the project structure and make my first code contribution to OpenCTI.
Understanding the Problem
The bug was pretty straightforward:
When you go to Processing → Automation → Update a playbook, the title of the update drawer incorrectly displayed “Update a decay rule” instead of “Update a playbook.”
It sounds simple, but for someone new to the project, figuring out where that label comes from in a massive codebase can be tricky.
Getting Started
Setting up OpenCTI locally was my first challenge. The installation steps involved multiple services and dependencies, and I had to spend some time making sure everything was configured properly before I could even reproduce the issue.
Once I got it running, to locate where this incorrect title was coming from, I used the grep command to search the entire frontend codebase for the phrase “Update a decay rule”:
grep -R "Update a decay rule" opencti-platform/opencti-front/
After a few matches, I found the exact file responsible for rendering the playbook update drawer.
The Fix
The fix turned out to be simple — just correcting the title string to “Update a playbook.”
Even though it was a one-line fix, the process of locating it, testing the change locally, and making sure nothing else broke was a great learning experience.
After thoroughly testing the fix on my local setup and confirming that the drawer title displayed correctly, I committed the change and submitted a pull request:
PR #12967 – Fix playbook update drawer title
The Review
After submitting the PR, it had to go through several automated checks, and a maintainer needed to verify the changes. It was my first code-related PR for Hacktoberfest, so I was both nervous and excited. Thankfully, after the checks passed and the maintainer verified the update, everything worked perfectly.
What I Learned
Even though this was a small UI fix, I learned a lot from this experience:
- How to navigate and understand a large-scale open-source project.
- The importance of setting up and reproducing an issue before fixing it.
- How to sign commits properly as part of open-source contribution standards.
Reflection
If I had to do it again, I’d explore more around the component structure to understand how similar labels are managed, maybe even propose a small refactor to centralize them.
This may have been a small fix, but it was my first actual code change for Hacktoberfest, and it gave me a lot of motivation to continue contributing. Now that I’ve got a better understanding of the workflow, I’m planning to look for slightly more complex issues next, maybe something involving code search or functionality improvements.
Top comments (0)