You are viewing documentation for Structure Server and Data Center version 5.5 and patch releases. For other versions, see Version Index or [Structure Cloud].
Certain advanced aspects of Structure's behavior might not have dedicated configuration pages, being controlled by application properties or system properties instead. This page lists Structure-related properties and describes how to set them.
The easiest way to add and manage custom Structure properties and dark features is to use the Structure dark features and Fine Tuning interface.
To access the interface, you must have Jira Administration permissions and enter the interface location directly into your browser: https://YOUR_JIRA_ADDRESS/secure/admin/StructureDarkFeatures.jspa
When an invalid property value is entered in the table, the default value is applied.
Spaces are not trimmed, and may result in an invalid value.
When you delete a property from the admin table, it's property value is set to the default value:
You can set System properties during Startup or using Script Runner.
You can set System properties using the -D
JIRA startup option, for example:
-Dstructure.sync.guard.email.admin.cycles=5
Configuring JIRA startup options is described in this article. You will need to restart JIRA for the properties to take effect.
You can also set system properties using the Script Runner add-on.
System.setProperty("structure.sync.guard.email.admin.cycles", "5")
The changes take effect after you restart the Structure, but the properties will be reset to their default values when you restart JIRA. In some cases for settings to take effect you have to reinstall the Structure. But If you want the changes to be permanent, please use the -D
startup option as described above.
Property | Default | Explanation |
---|---|---|
com.almworks.jira.structure.AOBasedStructureManager.forestSizeLimit | 100000 | The maximum number of rows that one structure can contain. Size exceeding operations will be blocked. |
Property | Default | Explanation |
---|---|---|
structure.gfs.generationTimeHardLimit | 600 | The maximum amount of time that can be spent for Structure generation (in seconds). |
Property | Default | Explanation |
---|---|---|
structure.generator.defaults.disableUpdates | false | When adding generators:
|
Property | Default | Explanation |
---|---|---|
structure.gfs.manualAdjustments.enable | true | Setting this property to false will disable manual adjustments for the entire Jira Instance. All adjustment-related UI elements and controls will disappear. Existing manual adjustments will be kept in the database, but will not be applied. |
structure.gfs.manualAdjustments.maxAdjustmentsPerStructure | 2000 | The maximum number of manual adjustments per one structure. When this limit is reached adding new manual adjustments will be impossible. If you reduce this limit, you may have to remove all manual adjustments for the structures that exceed it. |
structure.gfs.manualAdjustments.maxAdjustmentsPerAction | 200 | The maximum number of manual adjustments per one user action. If this limit is exceeded the action will be aborted without making any changes. |
Property | Default | Explanation |
---|---|---|
structure.feature.hiddenLinks.enabled | false | Set to true to enable support for hidden issue links. |
Property | Default | Explanation |
---|---|---|
structure.indexConsistencyChecker.disabled | false | Set to true to disable periodical checks of Lucene index consistency. |
Synchronization lets you keep Structure issue hierarchy in sync with some other issue properties.
Property | Default | Explanation |
---|---|---|
structure.feature.synchronizers.enabled | false | Set to true to enable Synchronizers within Structure. |
The cycle guard is a component that detects conflicting synchronizers and prevents them from cycling forever, overriding each other's changes. The table below describes the system properties that control the cycle guard.
Property | Default | Explanation |
---|---|---|
structure.sync.guard.disable | false | Set to true to disable the cycle guard. Conflicting synchronizers will not be prevented from running forever. Not recommended. |
structure.sync.guard.maxAutosyncsWithoutUserChanges | 10 | The maximum number of times that a synchronizer is allowed to run, processing the changes generated by another synchronizer. If this limit is exceeded, the two synchronizers are considered to be in conflict. |
structure.sync.guard.stop.disable | false | If true , conflicting synchronizers will not be disabled automatically. The cycling may repeat after a user-generated change. |
structure.sync.guard.email.owner.disable | false | If true , the cycle guard will never send e-mail notifications to synchronizer owners. |
structure.sync.guard.email.admin.disable | false | If true , the cycle guard will never send e-mail notifications to JIRA administrators. |
structure.sync.guard.email.admin.cycles | 10 | The minimum number of times a cycle must be detected for a synchronizer before an e-mail notification about that synchronizer is sent to JIRA administrators. The counter is reset when a synchronizer is automatically disabled, so if this number is greater than 1 and automatic disabling is on, the administrators will not be notified. |
Property | Default | Explanation |
---|---|---|
structure.doneAttribute.byResolution | false | false - signify that "Resolved icon" shown based on Resolution field of an issue is non-empty true - signify that "Resolved icon" shown base on StatusCategory of an issue is Done (StatusCategory.COMPLETE) status category. |
Property | Default | Explanation |
---|---|---|
structure.timeinstatus.refreshPeriod | 3600000 | Sets update period for Time in Status column. Value is in milliseconds. Time is Status is updated any time a status change occurs in Jira or once per hour if status remains unchanged. This option allows you to update the Time in Status more or less often, when issues remain in the same status. |