I work in an environment with many networks, most of which are air gapped with no access to the internet. My DevOps team wants to do as much development as possible on a single network while making it as easy as possible to create a baseline to push to other networks without making it difficult to view or modify for other networks as needed. Currently, we have ScriptRunner's scripts/ directory version controlled in a BitBucket repo which is directly pushed to other networks. Any changes in those other networks are rebased on top of the baseline and deployed via Bamboo.
The biggest flaw with this strategy for us is that it requires manual configuration of all of the various events within ScriptRunner (Listeners, Jobs, Endpoints, etc) based on only a readme file. We've looked into Script Plugins, but the inherent need to implement an Atlassian plugin environment seems to be a non-starter in air gapped environments due to the use of Maven, which would not be able to access the internet. Worse, IntelliJ is not an option for us, so any IDE solution would have to be done in another IDE (most of the company uses Eclipse). An IDE development environment is very lucrative for us (most of us have many gripes with the web editor), but we don't really see a path forward for it.
The team has recently been batting around ideas to improve on our current solution, and someone pitched the idea of writing a custom endpoint which could be called as part of our Bamboo deployment which would automatically configure ScriptRunner, allowing us to replace our readme file with some JSON/YAML/whatever which describes the configuration to create. Eg, the process would look like:
So, with all of that background, I have two main questions: