Hi TestFLO Team,
We are trying to programmatically update test step statuses (Steps Progress) on Test Case issues via the Jira REST API, but the status
field on stepsRows is silently ignored - the API returns HTTP 204 but step statuses remain unchanged.
Environment:
- Jira Server (on-premise)
- Authentication: Bearer token (Personal Access Token)
- Steps custom field ID: customfield_12022
- Plugin: com.intenso.jira.plugins.suiTest:steps
What we send (PUT /rest/api/2/issue/{TC-KEY}):
{
"fields": {
"customfield_12022": {
"stepsVersion": 1,
"stepsColumns": [
{"name": "Action", "size": 150},
{"name": "Input", "size": 150},
{"name": "Expected result", "size": 150}
],
"stepsRows": [
{
"status": {
"ids": [3],
"name": "Pass",
"color": "#51a825",
"isFinalStatus": true
},
"comment": "",
"defects": [],
"attachments": [],
"isGroup": false,
"cells": ["Step action", "Step input", "Expected result"]
}
],
"stepsStatuses": [
{"ids": [1], "name": "To do", "color": "#CCCCCC", "isFinalStatus": false},
{"ids": [2], "name": "In progress", "color": "#ffd257", "isFinalStatus": false},
{"ids": [3], "name": "Pass", "color": "#51a825", "isFinalStatus": true},
{"ids": [4], "name": "Fail", "color": "#CC3300", "isFinalStatus": true},
{"ids": [5], "name": "Impossible", "color": "#0052cc", "isFinalStatus": true},
{"ids": [6], "name": "Conditional pass", "color": "#51a825", "isFinalStatus": true}
]
}
}
}
Result:
- HTTP response: 204 No Content (success)
- Cell values (cells) are updated correctly
- Step status remains "To do" - the status object on each stepsRow is silently ignored
What we also tried:
1. Including/excluding onLoadConfigurationHash and defaultStatus - no effect
2. Including comment field on rows - no effect
3. Minimal payload with only stepsRows and status - no effect
4. stepsVersion: 2 - no effect
5. Setting status during issue transition (POST /transitions with fields.customfield_12022) - returns "Field cannot be set, not on
appropriate screen"
6. Old format from your support response (header/rows with isStatus: true column) - rejected with error: Unrecognized field "header" (class
com.intenso.jira.plugins.steps.model.Steps)
7. TestFLO dedicated REST API (/rest/tms/1.0/api/) - returns 404, appears not available in our version
StepsRow model (from error messages) accepts these fields: attachments, cells, status, isGroup, renderedCells, comment, defects - so status
is a recognized field, but its value is not persisted on update.
Our use case:
We are building an internal tool that automates bulk test execution - transitioning all Test Cases in a Test Plan to "Pass" status. The
issue-level transitions work correctly (Open → In Progress → Pass), but we need to also mark all individual test steps as "Pass" to reflect
accurate Steps Progress.
Questions:
1. Is there a supported way to update step statuses via REST API with Bearer token authentication in the current stepsVersion: 1 format?
2. If not, is this planned for a future release?
3. Is there a different endpoint or payload format we should use?
Thank you for your help.
As you are referring to the 3rd party app TestFLO, does this app have a API opportunity?
Yes, it does, see https://app.swaggerhub.com/apis-docs/DevinitiApps/testflo-public-api/8.9.0 mentioned on the app documentation (https://deviniti.com/support/addon/server/testflo-92/latest/rest-api/)
The Jira API can't update specific options added by a 3rd party app.
Perfect :) Thanks a lot :)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.