You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
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 :)