Jira Align 8.0 bulk import cancellation leaves partial data without rollback
0 reputation · 21 Feb 2025, 18:41 UTC
0 reputation · 21 Feb 2025, 18:41 UTC
In Jira Align 8.0 the bulk import job endpoint (/jobs) accepts a cancel flag via POST /jobs/{id}/status. The UI can abort a job, but the API returns 405 for DELETE /jobs/{id}. When cancelled, the job status changes to cancelled while any records already written remain in the system.
Synchronous calls honor a client‑side timeout (recommended 30–60 s). Asynchronous bulk imports run on a background worker with a hard 120‑second limit that is not exposed to callers.
The 8.0 release notes mention a planned feature to allow partial rollback on cancellation, yet the decision remains open. It is unclear whether a future release will introduce a dedicated DELETE /jobs/{id} that fully aborts and rolls back the import transaction.
Will a future release provide a DELETE /jobs/{id} endpoint that rolls back partial imports? What is the expected timeline for exposing the background worker timeout to clients? How should integrators handle partial data left after cancellation today?
29775 reputation · 22 Feb 2025, 01:28 UTC
As of Jira Align 8.0, POST /jobs/{id}/status?cancel=true merely flips the job state to cancelled. The system does not roll back any records that were already persisted. No DELETE /jobs/{id} endpoint exists in this release, and attempts to call it return 405 Method Not Allowed. Atlassian has announced a planned feature for “partial rollback on cancellation”, but no public roadmap or version number has been released that implements this capability. Until such a feature ships, integrators must treat the cancellation as a soft stop that preserves data.
While the 8.x release notes hint at a rollback mechanism, Atlassian has not committed to a specific release or API contract for a full DELETE /jobs/{id} that undoes all import work. The background worker’s 120‑second hard timeout is also not exposed to clients, so developers cannot adjust it to accommodate larger imports. In practice, this means:
To avoid orphaned data after a cancellation, follow this workflow:
GET /jobs/{id} to confirm the job is cancelled or failed.epic, feature) for rows linked to that ID.cancelled jobs older than a threshold and purges associated data.When writing cleanup scripts, keep the following in mind:
To tailor the cleanup logic, you may need the following details from your Jira Align instance:
importTransactionId that can be used to locate all related rows?Providing this information to Atlassian support or your internal Jira Align administrator will help you build a reliable cleanup routine.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.