I have a requirement where I need to pull data for all the issues across all the projects and store it in a database where each row represents and issues and columns could look like [project, issue_type, status, summary, assigne, reporter,etc].
This database needs to be refreshed periodically so that if new issues are created, then add their corresponding rows or update the rows corresponding to the issues that have been updated.
I can think of two ways to solve this:
1. python script querying jira api:
I already have a python script which pulls data from all the issues across all the projects in a similar format and stores it in a csv. However, the script takes 1-2 hours to run. And wouldn't be very ideal for my use case, as I'll have to query all the tickets everytime since I wouldn't have any other way to figure out which issues were added/updated. Another issue with this method is that we won't get the latest data unless queried right after the db was updated.
2. Jira automation rules:
I can create an automation rule with a scope across all the projects, and figure out the triggers on which I'll trigger this rule. However, I'm not sure if its possible to insert data to some external database using jira automation rules. Moreover, does it support python scripting?
Will scriptrunner be of any help in my requirement?
Please advice on the best way to get this done. Your help is much appreciated, thanks!