Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

is it possible to put workflow post functions in a transaction ?

Robert Conde October 13, 2017
Consider, for example, you have a workflow post function which runs on a transition. The function might make many changes. Is there a way to rollback all changes if any errors occur along the way?

1 answer

0 votes
Nic Brough -Adaptavist-
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
October 13, 2017

No.  There's no way Jira can know what a post-function might do, so it can't roll-back anything.

Robert Conde October 13, 2017

If it’s not possible that’s one thing..but Jira is backed by a database...and databases can be transactional...so theoretically it should be possible without Jira knowing the details of the post functions.

Nic Brough -Adaptavist-
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
October 13, 2017

In theory, yes.  In reality, no.

Jira is not really backed by a database.  It uses a database as a data store for convenience, avoiding writing its own data storage mechanisms and to take advantage of some database functions that aren't particularly data related.

To make it transactional, you'd need to add code to every place where Jira might write to its data store.  That's a massive re-engineering project, and Atlassian sees that as pointless.  (I don't, but I don't care about the cost or time, I just want more, better, functions.  But I've got a massive list of those above making it transactional too)

Robert Conde October 14, 2017

Fair enough...thanks for the clarification!

Robert Conde October 16, 2017

What about this?

https://docs.atlassian.com/jira/7.0.6/com/atlassian/jira/transaction/package-summary.html

 

Are you sure that Jira isn't doing a transaction which can be rolled back by throwing an exception?

 

That's probably how validators work, no?

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events