Hi everyone,
I’ve developed a custom Forge-based Workflow Validator (static/ps-workflow-extention-linkedissue-validator) and I am now trying to automate its deployment across approximately 100 Jira Cloud workflows.
The Context: The app is fully functional. I can successfully add the validator to any workflow via the UI Workflow Editor, and it behaves exactly as expected during issue transitions. However, I need to scale this across 100+ workflows, and doing so manually is will take longer time. When I attempt to replicate the UI’s action using the REST API, I am hitting constant roadblocks.
The Setup:
- Endpoint: POST /rest/api/3/workflows/update
- Method: Attempting to inject the validator into the “Close” transition.
The Journey so far:
- Initial Failures: I originally tried to use the ruleKey from the manifest directly, which resulted in Invalid Request Payload.
- The “Forge Wrapper” Discovery: By inspecting browser network traffic while saving via the UI, I discovered that Forge rules must be wrapped in a forge:expression-validator key, with the extension ARI placed inside parameters.key.
- Schema Sensitivity: Even with the “correct” structure (including the root statuses array and the workflow version object), the API is extremely sensitive to read-only fields.
The Current Blocker:
Despite matching the JSON structure seen in the browser’s developer tools, I am consistently receiving: {“errorMessages”:[“Other workflow updates are in progress. Check the workflow editor…”]}
This occurs even when no one is editing the workflow and all drafts have been discarded/published.
Current Payload Snippet -JSON:
{
“ruleKey”: “forge:expression-validator”,
“parameters”: {
“key”: “ari:cloud:ecosystem::extension/…/static/ps-workflow-extention-linkedissue-validator”,
“id”: “NEW_UUID”,
“config”: “”
}
}
Any advice from developers who have successfully automated Forge rule injection would be a lifesaver!