Forums

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

Where to store project specific configuration element?

Yves Martin
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.
August 2, 2018

 Hello

For an add-on design, I am looking for the best/proper way to store per project configuration entries or "properties":

First option: Opensymfony PropertySet:

 

Second option: entity properties and its REST API

 

Third option: add-on specific storage with ActiveObjects

 

When browsing "propertyentry" in dabase, it is possible to find only one project PropertySet "firstIssueCreated", but not project entity properties. And even atlassian products may not be consistent, as project specific properties are stored as "jira.properties" and I have not found what API has created other bamboo specific project properties for which entity_name is project key (and asking myself what happens when renaming project key?)

172491 | Project | 13960 | firstIssueCreated | 1
172343 | APROJECTKEY | 1 | bamboo.release.config.24674 | 5
172344 | APROJECTKEY | 1 | bamboo.release.config.defaults | 5
172639 | jira.properties | 1 | applinks.local.APROJECTKEY.jira_project.linked.entities | 5

 

With so many possibilities, I am lost and still have opened questions:

  • where second-option project properties are stored?
  • what are benefits / drawbacks of each option and which one would you recommend?

2 answers

0 votes
Venkat Prasad August 6, 2018

Thank you Yves for the analysis and feedback.

Though we keep everything in Jira database, here are couple of things I think to manage own AO Store/SQL queries instead of Core Jira API/Storage i.e.

  • Using own AO Store/SQL queries I will have more flexibility/control to track more information like, author, last updated, etc
  • JQL Search Functions
Yves Martin
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.
August 6, 2018

I agree your plugin has added value thanks to "JQL Search Functions", but I think it would have been possible to use Atlassian entity properties storage for both user project properties values and metadata - and so with reuse of REST API.

Venkat Prasad August 6, 2018

I agree Yves, thank you for heads-up. I will make sure to analyze core features for my upcoming plugins. :)

0 votes
Yves Martin
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.
August 2, 2018

I can already submit a partial answer about "entity properties".

Even if its storage is JSON text in table "entity_property", it seems to be designed for both JavaScript support and plugin usage thanks to ProjectPropertyService: https://docs.atlassian.com/software/jira/docs/api/7.11.0/com/atlassian/jira/bc/project/property/ProjectPropertyService.html

Suggest an answer

Log in or Sign up to answer