I’m working on a project where we use BuildBot for continuous integration and JIRA for issue tracking. I want to create a connection between these two systems so that build information shows up in our JIRA tickets.
My goal is to add two custom dropdown fields in JIRA:
Build Found In - A dropdown that shows recent build numbers so QA team can pick which build had the issue
Build Fixed In - Another dropdown where developers can choose upcoming build numbers that will include their fixes
I want to make these fields mandatory when creating or updating tickets. The tricky part is getting the build numbers from BuildBot to populate these JIRA dropdowns automatically.
I’ve been searching for days but can’t find any plugins, documentation, or examples of how to do this integration. Has anyone successfully connected BuildBot with JIRA custom fields before? I need complete implementation details rather than just code snippets since this is pretty complex.
Currently running JIRA 5.2 and BuildBot 0.8.4p2. Any guidance would be really helpful.
Had this exact problem about 18 months ago with similar versions. Here’s what worked: set up a middle-layer database that both systems can talk to. BuildBot dumps build completion data into a MySQL table through a simple script, then JIRA pulls from that table to populate the dropdown. For JIRA 5.2, you’ll need a custom field type or the Behaviours plugin to dynamically populate dropdowns from external sources. Skip the direct API calls - both versions have pretty limited REST support anyway. Set up database triggers to auto-clean old build numbers after 30 days. One thing that bit us: build failures. Make sure your integration handles incomplete builds so QA doesn’t pick invalid build numbers. And the mandatory field validation works way better through JIRA workflows than field configuration.
We did something similar about two years ago, though with newer versions of both tools. Built a custom REST API bridge that runs as a scheduled service - it pulls build data from BuildBot’s REST API every few minutes and updates JIRA’s custom field options through JIRA’s REST API. Just a simple Python script that maintains the dropdown values by adding new builds and removing old ones based on configurable retention policies. With your older versions, you’ll need to work with BuildBot’s status web interface since the REST API wasn’t fully mature in 0.8.4p2. JIRA 5.2 should handle the REST calls fine though. Biggest challenge was timing - making sure build numbers are available in JIRA before developers need them. Consider implementing some caching because constantly hitting both APIs can cause performance issues. Also think about access permissions since not all users should see all build numbers in production environments.
This sounds like a pain with those old versions. I’d write a simple webhook listener to catch buildbot events and push the data to Jira’s API. Flask would work well for handling the webhook calls. The dropdown population’s tricky though - you’ll probably need a Jira plugin or their ScriptRunner addon if you’ve got it. Also, consider using a text field instead of dropdown for “build fixed in” since devs can’t predict future build numbers anyway.