I’m trying to retrieve issues from JIRA using their SOAP API, but I can’t find a straightforward method to get issues by combining Project Name and Release Version parameters.
From what I can see in the API documentation, the available methods allow you to fetch issues using:
Filter ID
Search terms only
Search terms combined with project
However, there doesn’t seem to be a direct way to query issues for a specific project and version combination. This feels like such a fundamental operation that should be available.
Am I overlooking something in the documentation, or is this really not supported? Has anyone found a workaround for this scenario? I also noticed JIRA 4.0 was released but couldn’t locate updated API docs that might address this limitation.
You’re right, the SOAP API doesn’t have that method. But you can get what you need with JQL queries through getIssuesFromJqlSearch. I hit this same wall building reporting tools for my dev team. Just construct a JQL string like “project = YOUR_PROJECT_KEY AND fixVersion = ‘YOUR_VERSION_NAME’” and pass it to the search function. It’s actually better this way since you can easily add more criteria. Watch out though - version names need exact matches, including spaces and special characters. I always grab the available versions for the project first to make sure I get the naming right.
the SOAP API’s filtering is kind of lame compared to REST. if you can, switch to REST - tons better filtering options. but if stuck with SOAP, try getIssuesFromFilter() and make a saved filter in JIRA for your project and version. it’s a bit hacky but works.
Yeah, that SOAP API limitation is super annoying, but here’s a workaround I found. Don’t rely on JQL searches alone - combine getVersions() with getIssuesFromTextSearch() instead. I ran into this while building a release management tool where speed was crucial. Grab all versions for your project first, then filter for your specific version ID. Use that ID in a targeted search. This two-step method lets you check if the version actually exists before searching for issues, and it won’t break when someone renames a version like hardcoded JQL strings do.