My current setup and problem
I’m working with a continuous integration system using BuildBot and we track all our issues in JIRA. I want to create a connection between these two tools but I’m stuck on how to make it work.
What I’m trying to achieve
I need to add two custom dropdown fields in JIRA that will show build numbers from our BuildBot instance:
- Build Where Issue Found - A dropdown that shows recent builds so QA team can pick which build had the problem
- Build With Fix - Another dropdown where developers can choose which upcoming build will have the solution
I also want to make these fields mandatory when creating or updating tickets.
Current versions
- JIRA: 5.2
- BuildBot: 0.8.4p2
What I’ve tried so far
I’ve been searching for days but can’t find any plugins, documentation, or examples of how to sync BuildBot data with JIRA custom fields. Most solutions I found are either outdated or don’t address this specific use case.
Has anyone successfully implemented something similar? I’m looking for a complete solution rather than just code snippets since I need to understand the full implementation process.
I did something similar two years back, though with newer versions. The main headache is that JIRA’s custom dropdown fields need dynamic population - you’ll need a custom plugin for this. Here’s what worked for me: I built a JIRA plugin that hits BuildBot’s REST API every few minutes to grab recent build numbers. The plugin caches builds and serves them up as custom field options. You’ll want a scheduled job in the plugin running every few minutes to keep the build list fresh. On BuildBot’s side, make sure the web status plugin is configured to expose build data over HTTP. The whole thing depends on parsing BuildBot’s JSON responses correctly. One thing that bit me - build number gaps when builds fail or get cancelled. Filter out incomplete builds or your QA team will get confused. Also throw in some basic auth between the systems since you’re exposing build data. Making the field mandatory is easy once the plugin’s running - just set it up in JIRA’s field configuration schemes.
you’re overthinking this. i just use a basic webhook - buildbot sends an HTTP POST to a middleman script when builds finish. the script updates jira custom field options via REST API. much simpler than polling or messy plugins. just make sure your jira service account can modify custom fields.
I had this exact same problem and went with a simpler approach. Skip the full JIRA plugin - just use JIRA’s REST API from BuildBot instead. I wrote a Python script that runs as a post-build step. It grabs the existing custom field options via REST, then updates them by adding the new build number and dropping older ones so the dropdown doesn’t get crazy long. I keep about 20 recent builds in the rotation. For JIRA 5.2, you’ll need to set up cascading select fields first with some dummy values, then let your script overwrite the options. The tricky part is getting BuildBot and JIRA to authenticate properly - I used basic auth with a service account. This way you get the dynamic dropdown without dealing with JIRA plugin development headaches. Once your fields have real data, you can handle the mandatory requirement through JIRA’s workflow settings.