We have a large business process with complex logic in our company. In many places, such as post-functions, listeners, etc., the content of the same page in the confluence is updated.
The page is updated using the REST-API. First, we get the content of the page in storage format (via the REST-API), parse it, add the necessary information from the jira to the content, and then update the content of the page in confluence using the REST request. On the dev server, everything works well, but most likely on the prod server (there, in different tasks that update the page, 100+ people can work, who can potentially change the page from jira at the same time), problems may arise and some data will be lost.
Scriptrunner scripts are run as separate processes, so you can't use standard java tools that use shared memory (lock, etc.) here. Perhaps for synchronization and interprocessor communication it is necessary to use shared files located on the server.
From a suitable atlassian api, I found com.atlassian.jira.util.Lock, which allows you to create a lock on a system file.
Do you have any examples using this class or any other ideas how to get around this problem?
Thanks for the help :)
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.