Package com.atlassian.jira
Class JiraFeatureFlagRegistrar
java.lang.Object
com.atlassian.jira.JiraFeatureFlagRegistrar
- All Implemented Interfaces:
FeatureFlagProvider
This should become a central location for registering feature flags, as an alternative to creating many
FeatureFlagProvider
modules.
This class has a purpose of registering flags, if you want to activate flags due to some conditions,
please refer to FeatureFlagActivator
- Since:
- v7.4.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final FeatureFlag
Enables Accessibility Personal Settings.static final FeatureFlag
Allows admins to search and edit private filters, dashboards, and subscriptions of other users.static final FeatureFlag
Allows admins to share filters and dashboards with roles and groups they are not a member ofstatic final FeatureFlag
Enables using deferred thumbnails everywhere.static final FeatureFlag
Enable users to bulk-edit the description field of an issue.static final FeatureFlag
Enable com.atlassian.jira.rest.auth.Login, allowing for a new session creation through rest.static final FeatureFlag
Enables filters on archived issues pagestatic final FeatureFlag
Allows admins to configure Jira to store attachments in S3.static final FeatureFlag
Allows admins to configure Jira to store XML Backups in S3.static final FeatureFlag
Enables a browse archived issues pagestatic final FeatureFlag
Disables running CacheResource endpoint (/rest/internal/1.0/cache/app).static final FeatureFlag
Prevents data loss when using custom field optimiser, by searching _also_ on archived issues and does not remove context scheme when optimising custom fields.static final FeatureFlag
Enabled 'BROWSE_PROJECTS' permission check during project search request creationstatic final FeatureFlag
Enables cleaning up tasks from offline DC nodes.static final FeatureFlag
Enables reporting offline nodes in cluster monitoring.static final FeatureFlag
Enables comment reactionsstatic final FeatureFlag
Enables sticky footer for adding commentsstatic final FeatureFlag
Enables CSV injection protection feature (prefixes with quote all fields containing expressions parsed by spreadsheet software.static final FeatureFlag
Enables new, improved UI for "Configure Custom Field" page.static final FeatureFlag
Enables new components used for selection of issue types and projectsstatic final FeatureFlag
Enables bulk deletion and DELETE REST endpoint for Custom Fieldsstatic final FeatureFlag
Enables: - background collection of custom field usage data - enhanced Custom Fields admin view with usage columns and new filtersstatic final FeatureFlag
Enables new performant UI with pagination for customfields admin page.static final FeatureFlag
Provide an option to turn off the filtering out non-active issues on the DB level during the foreground reindex process.static final FeatureFlag
Switches the strategy of generating user keys for new users from lowercased username to the format "JIRAUSER10000".static final FeatureFlag
Enables default values for system fieldsstatic final FeatureFlag
Disables anonymous access to /rest/menu/* endpoints, it is a short term workaround until the issue is fixed in platform.static final FeatureFlag
Enables Document Based index Replication in DC nodes.static final FeatureFlag
Allows to disable new Content Security Policy implemented inDynamicContentSecurityPolicyResponseWrapper
static final FeatureFlag
This flag should be used only for Bulldog/debugging.static final FeatureFlag
static final FeatureFlag
Filter users without browse project access in watcher user picker.static final FeatureFlag
Feature flag for Filters Creation User Experience improvement.static final FeatureFlag
This enables a fix modifying the events generated when a comment is deleted and email notifications sent.static final FeatureFlag
Enables GDPR RTBF UI for user anonymization.static final FeatureFlag
Ignore browse users permission (a.k.a.static final FeatureFlag
Enables In-product Diagnostics tool functionality.static final FeatureFlag
Enables In-product Diagnostics tool work in progress features.static final FeatureFlag
Enables the additional feature that cleans up the remaining finishedIntegrityChecker
tasks from the TaskManager See FLASH-3808static final FeatureFlag
Enables extra logged information for atlassian-jira-ipd-monitoring.log.static final FeatureFlag
Enables Issue Archiving feature.static final FeatureFlag
static final FeatureFlag
static final FeatureFlag
Enables unique suffix generation for every new attachment.static final FeatureFlag
Feature flag for allowing mandatory fields to be checked against the project context to see if they should be setup fields.static final FeatureFlag
Enables preservation of JQL user input.static final FeatureFlag
static final FeatureFlag
static final FeatureFlag
Use AJAX-based lazy loading for activity tabsstatic final FeatureFlag
Turns on legacy imap message query.static final FeatureFlag
Disables fix for VULN-204886: check whether global anonymous "browse users" permission is enabled, during 'membersOf' JQL function validation.static final FeatureFlag
Disable fix for VULN-296180: checks if user who use membersOf have global permission "Browse Users"static final FeatureFlag
Use old textarea with usernames instead of modern ("frothered") multi select with user display names (e.g.static final FeatureFlag
Enables old behaviour fixed by JSEC-602static final FeatureFlag
Enables permission query optimization.static final FeatureFlag
Enables feature of pinning comments.static final FeatureFlag
This feature flag is intended to be used mostly to control visibility of the feature when ZDU kicks in.static final FeatureFlag
JRASERVER-66660: feature flag to edit default priority schemestatic final FeatureFlag
static final FeatureFlag
Enables optimised DB queries for counting active and archived issues that can be used only afterUpgradeTask_Build960000
has run.static final FeatureFlag
Feature flag for blocking anonymous access to /rest/api/2/project/type and /rest/api/2/project/type/{projectTypeKey} endpoints in case if anonymous can't browse any project.static final FeatureFlag
static final FeatureFlag
Enables redirect of anonymous access from 404 errors to login pagestatic final FeatureFlag
When cleaning up (ie removing) this Feature Flag, note that it is also checked in the JIRA Editor Plugin, javascript files and should also be removedstatic final FeatureFlag
Feature flag for blocking anonymous access to /rest/api/2/resolution/page endpoint in case if anonymous can't browse any project.static final FeatureFlag
Controls returning default avatars for broken avatarsstatic final FeatureFlag
This flag controls whether users are revoked ADMINISTER_PROJECTS permission when they lose application access.static final FeatureFlag
Feature flag for escaping & warning about bi-directional characters in rich text editor.static final FeatureFlag
Enables safeguards ready for production features.static final FeatureFlag
Enables safeguards email notifications.static final FeatureFlag
Enables safeguards work in progress features.static final FeatureFlag
Enables protection by session stored XSRF token (default is cookie stored)static final FeatureFlag
Enables sharing dashboards and filters with projects, roles and groups an user is not a member of.static final FeatureFlag
Feature flag for Shared Entities(Shared Filters and Dashboards) edit rights.static final FeatureFlag
Enables server identification check while connecting to SMTP serverstatic final FeatureFlag
Allows admins to change terminology in Jira (names for Sprint and Epic, as of 8.14).static final FeatureFlag
Enables output sanitization for text gadget.static final FeatureFlag
Enables deferred thumbnail generation till file fetch.static final FeatureFlag
Enables updating in-memory Issue object in comment object on which the action has been made.static final FeatureFlag
Sets "sameSite=None" parameter in XSRF tokenstatic final FeatureFlag
Enables using Snappy for index snapshots.static final FeatureFlag
Enable theme switcherstatic final FeatureFlag
This feature is about using the version basedNodeReindexService
and is enabled after ZDU to 8.10.static final FeatureFlag
Enabled warn only mode for usage of OsWorkflow build-in functions/classes - it disables security fixstatic final FeatureFlag
Enables more strict XSRF policy for Jira webactions, where POST, PUT, etc (all "unsafe" HTTP methods, so not GET, HEAD, OPTIONS) invocations of a webaction are protected with XSRF checks by default - unless explicitly annotated withDoesNotRequireXsrfCheck
.static final FeatureFlag
Enables new API for Jira webactions.static final FeatureFlag
Enables selected webhook events to be processed asynchronously on the atlassian-webhook-plugin sidestatic final FeatureFlag
Switch from blocklist to allowlist in our xml deserializer (xstream). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic FeatureFlag
registerFeatureFlag
(String featureKey, boolean defaultOn) static FeatureFlag
registerFeatureFlag
(String featureKey, boolean defaultOn, boolean isAnalyticsSafe)
-
Field Details
-
JQL_SUGGEST_RECENT_FILDS_FEATURE
-
JQL_SMART_AUTOSELECTFIRST_FEATURE
-
ISSUE_TABLE_DRAGGABLE_FEATURE
-
ISSUE_TABLE_SUBTASKS_MOVE_LINKS_HIDDEN_FEATURE
-
RENDERER_CONSIDER_VARIABLE_FORMAT_FEATURE
When cleaning up (ie removing) this Feature Flag, note that it is also checked in the JIRA Editor Plugin, javascript files and should also be removed -
RTE_WARN_ABOUT_BIDI_CHARS
Feature flag for escaping & warning about bi-directional characters in rich text editor. -
PRIORITIES_PER_PROJECT
This feature flag is intended to be used mostly to control visibility of the feature when ZDU kicks in. From this point of view is not regular feature flag which will disable feature completely - some inconsistencies are allowed to happen. -
PRIORITIES_PER_PROJECT_JSD
-
PRIORITIES_PER_PROJECT_EDIT_DEFAULT_SCHEME
JRASERVER-66660: feature flag to edit default priority scheme- Since:
- 8.2
-
FILTERS_UX_IMPROVEMENT
Feature flag for Filters Creation User Experience improvement. Main purpose is to change availability of save button according to filter state, also if JQL, which is going oto be saved, is empty it shows a warning. Is used in the jira-issue-search-plugin. -
SHARED_ENTITY_EDIT_RIGHTS
Feature flag for Shared Entities(Shared Filters and Dashboards) edit rights. -
ADMINS_CAN_EDIT_PRIVATE_FILTERS_AND_DASHBOARDS
Allows admins to search and edit private filters, dashboards, and subscriptions of other users.- Since:
- 8.8
-
ISSUE_ARCHIVING
Enables Issue Archiving feature. Note: When setting the flag default to on make sure "admin.errors.archivedissue.error.feature.not.active" messages is rephrased accordingly. -
BROWSE_ARCHIVED_PAGE
Enables a browse archived issues page -
PER_PROJECT_PERMISSION_QUERY
Enables permission query optimization. -
CUSTOMFIELDS_REDESIGN
Enables new performant UI with pagination for customfields admin page. The feature flag is mainly intended to control the visibility of the feature, as well as to fix JWebUnit (z-tests) tests for the old UI. -
CUSTOMFIELDS_BETTER_MULTI_SELECTS
Enables new components used for selection of issue types and projects -
CUSTOM_FIELDS_CONFIGURE_MODERN_UI
Enables new, improved UI for "Configure Custom Field" page. -
ARCHIVED_ISSUES_FILTERS
Enables filters on archived issues page -
USE_SNAPPY_FOR_INDEX_SNAPSHOTS
Enables using Snappy for index snapshots. -
DB_ID_BASED_KEY_GENERATION_STRATEGY
Switches the strategy of generating user keys for new users from lowercased username to the format "JIRAUSER10000". -
USE_VERSION_BASED_NODE_REINDEX_SERVICE
This feature is about using the version basedNodeReindexService
and is enabled after ZDU to 8.10.- Since:
- 8.10
-
GDPR_RTBF
Enables GDPR RTBF UI for user anonymization.- Since:
- 8.4
-
EXTERNAL_LINKS_NEW_IN_WINDOW
-
SECURITY_XSRF_SESSION_TOKEN
Enables protection by session stored XSRF token (default is cookie stored) -
JIRA_ATTACHMENT_GENERATE_UNIQUE_SUFFIX_ENABLED
Enables unique suffix generation for every new attachment.- Since:
- 8.6
-
ACCESSIBILITY_PERSONAL_SETTINGS
Enables Accessibility Personal Settings.- Since:
- 8.8
-
CLEANUP_CLUSTER_TASKS
Enables cleaning up tasks from offline DC nodes.- See Also:
-
CLUSTER_MONITORING_SHOW_OFFLINE_NODES
Enables reporting offline nodes in cluster monitoring.- Since:
- 8.9
-
REDIRECTING_ANONYMOUS_ACCESS_TO_404_ERRORS
Enables redirect of anonymous access from 404 errors to login page- Since:
- 8.9.1
-
DOCUMENT_BASED_INDEX_REPLICATION
Enables Document Based index Replication in DC nodes.- Since:
- 8.10
-
SMTP_SERVER_HOSTNAME_VERIFICATION_FEATURE_FLAG
Enables server identification check while connecting to SMTP server- Since:
- 8.10
-
ADMINS_CAN_SHARE_FILTERS_AND_DASHBOARDS_WITH_ALL_GROUPS_AND_ROLES
Allows admins to share filters and dashboards with roles and groups they are not a member of- Since:
- 8.11
-
TERMINOLOGY_CHANGES
Allows admins to change terminology in Jira (names for Sprint and Epic, as of 8.14).- Since:
- 8.14
-
CUSTOMFIELDS_IDENTIFICATION
Enables: - background collection of custom field usage data - enhanced Custom Fields admin view with usage columns and new filters- Since:
- 8.16
- See Also:
-
CUSTOMFIELDS_BULK_DELETE
Enables bulk deletion and DELETE REST endpoint for Custom Fields- Since:
- 8.16
-
DEFAULT_VALUES_FOR_SYSTEM_FIELDS
Enables default values for system fields- Since:
- 8.16
-
RETURN_DEFAULT_AVATARS_FOR_BROKEN_AVATARS
Controls returning default avatars for broken avatars- Since:
- 8.13.4, 8.15.1, 8.16.0
-
MEMBERS_OF_IGNORE_ANONYMOUS_BROWSE_USERS_PERMISSION
Disables fix for VULN-204886: check whether global anonymous "browse users" permission is enabled, during 'membersOf' JQL function validation.- Since:
- 8.16
-
ENABLE_SANDBOX_CONTENT_SECURITY_POLICY
Allows to disable new Content Security Policy implemented inDynamicContentSecurityPolicyResponseWrapper
- Since:
- 8.16.0
-
COMMENT_REACTIONS
Enables comment reactions- Since:
- 8.17
-
COMMENT_STICKY_FOOTER
Enables sticky footer for adding comments- Since:
- 9.8.0
-
WARN_ONLY_ON_UNSAFE_WORKFLOW_CLASS
Enabled warn only mode for usage of OsWorkflow build-in functions/classes - it disables security fix- Since:
- 8.18
-
FIXED_COMMENT_DELETION_NOTIFICATIONS
This enables a fix modifying the events generated when a comment is deleted and email notifications sent. Related to: VULN-263754 and JRASERVER-64151. Ticket to track removal of this flag is RAID-2498- Since:
- 8.18
-
MEMBERS_OF_IGNORE_BROWSE_USERS_PERMISSION_FOR_LOGGED_USERS
Disable fix for VULN-296180: checks if user who use membersOf have global permission "Browse Users"- Since:
- 8.21
-
MAIL_HANDLER_IMAP_MESSAGE_QUERY_LEGACY
Turns on legacy imap message query. Legacy query fetches messages that are not DELETED, regular query fetches messages that are not DELETED and not SEEN.- Since:
- 8.19
-
CHART_UTILS_BROWSE_PROJECTS_PERMISSION_CHECK
Enabled 'BROWSE_PROJECTS' permission check during project search request creation- Since:
- 8.13
-
EXECUTE_SEARCH_EFFICIENCY_MEASUREMENTS
This flag should be used only for Bulldog/debugging. It can also cause some significant costs. Enable collecting measurements of search function execution time fromDefaultUserPickerSearchService
- Since:
- 8.19.1
-
REVOKE_ADMINISTER_PROJECTS_WITHOUT_APPLICATION_ACCESS
This flag controls whether users are revoked ADMINISTER_PROJECTS permission when they lose application access.- Since:
- 8.19.1
-
WEBHOOK_EVENTS_ASYNC_PROCESSING
Enables selected webhook events to be processed asynchronously on the atlassian-webhook-plugin side- Since:
- 8.19.1
-
THUMBNAILS_DEFERRED_GENERATION_ALLOWED
Enables deferred thumbnail generation till file fetch. By default only issue view is deferred. ALL_THUMBNAILS_DEFERRED can be enabled for using it everywhere.- Since:
- 8.20.1
-
ALL_THUMBNAILS_DEFERRED
Enables using deferred thumbnails everywhere. This might cause back compatibility issues if a consumer relays on thumbnail dimensions- Since:
- 8.20.1
-
NO_FROTHER_MULTIUSERPICKER
Use old textarea with usernames instead of modern ("frothered") multi select with user display names (e.g. display jdoe11 instead of Jane Doe).- Since:
- 8.21
- See Also:
-
- "initMultiUserPickers.js"
-
WEBACTIONS_REQUEST_METHOD_RECOGNITION
Enables new API for Jira webactions. Feature flag makes webactions to return 405 error for any unsupported method.- Since:
- 9.0
- See Also:
-
WEBACTIONS_REQUEST_METHOD_DEPENDENT_XSRF_CHECK
Enables more strict XSRF policy for Jira webactions, where POST, PUT, etc (all "unsafe" HTTP methods, so not GET, HEAD, OPTIONS) invocations of a webaction are protected with XSRF checks by default - unless explicitly annotated withDoesNotRequireXsrfCheck
.- Since:
- 9.0
- See Also:
-
SAFEGUARDS
Enables safeguards ready for production features.- Since:
- 9.0
-
SAFEGUARDS_WORK_IN_PROGRESS
Enables safeguards work in progress features.- Since:
- 9.0
-
SAFEGUARDS_EMAIL_NOTIFICATIONS
Enables safeguards email notifications.- Since:
- 9.0
-
XML_DESERIALIZER_ALLOWLIST
Switch from blocklist to allowlist in our xml deserializer (xstream).- Since:
- 8.22
-
NOTIFY_USERS_WITHOUT_APPLICATION_ACCESS
Enables old behaviour fixed by JSEC-602- Since:
- 8.20.6
-
LAZY_LOAD_ACTIVITY_TABS
Use AJAX-based lazy loading for activity tabs- Since:
- 9.0.0
-
USE_SAME_SITE_FOR_XSRF_TOKEN_COOKIE
Sets "sameSite=None" parameter in XSRF token- Since:
- 8.13
-
SER_ALLOW_SHARE_WITH_NON_MEMBER
Enables sharing dashboards and filters with projects, roles and groups an user is not a member of. See PSR-587- Since:
- 8.13.21 8.20.9 8.22.0
-
IN_PRODUCT_DIAGNOSTICS
Enables In-product Diagnostics tool functionality.- Since:
- 9.1
-
IN_PRODUCT_DIAGNOSTICS_WIP
Enables In-product Diagnostics tool work in progress features.- Since:
- 9.5
-
IPD_EXTRA_LOGGING
Enables extra logged information for atlassian-jira-ipd-monitoring.log. When true, ObjectName and all statistic fields are included in logs.- Since:
- 9.3
-
CFO_INCLUDE_ARCHIVED_ISSUES_AND_ALWAYS_KEEP_CONTEXT
Prevents data loss when using custom field optimiser, by searching _also_ on archived issues and does not remove context scheme when optimising custom fields. See PSR-739 Used in Custom Field Optimiser plugin, do not delete.- Since:
- 9.5
-
PIN_COMMENTS
Enables feature of pinning comments.- Since:
- 9.7
-
CACHE_RESOURCE
Disables running CacheResource endpoint (/rest/internal/1.0/cache/app). Check PSR-789 for more details.- Since:
- 9.6
-
PROJECT_ARCHIVED_ISSUES_MARKED_IN_ISSUE_TABLE
Enables optimised DB queries for counting active and archived issues that can be used only afterUpgradeTask_Build960000
has run. Once the upgrade task finishes and this flag becomes <true, there's no way backwards (we'd need to downgrade data in the DB), so we no longer check the flag's value.- Since:
- 9.6
-
UPDATE_ISSUE_OBJECT_ON_COMMENT_ACTION
Enables updating in-memory Issue object in comment object on which the action has been made. When disabled, the issue in comment object send in events will have wrong updated field value. See JRASERVER-72491- Since:
- 9.7
-
DISABLE_ANONYMOUS_ACCESS_TO_MENU_ENDPOINTS
Disables anonymous access to /rest/menu/* endpoints, it is a short term workaround until the issue is fixed in platform. Harvested from Confluence. See JRASERVER-72952- Since:
- 9.7
-
CSV_EXPORT_INJECTION_PROTECTION
Enables CSV injection protection feature (prefixes with quote all fields containing expressions parsed by spreadsheet software. See JSEC-2654- Since:
- 9.9
-
INTEGRITY_CHECKER_TASK_CLEANUP
Enables the additional feature that cleans up the remaining finishedIntegrityChecker
tasks from the TaskManager See FLASH-3808- Since:
- 9.11
-
DB_FILTER_OUT_ARCHIVE_ISSUES_DURING_FULL_REINDEX
Provide an option to turn off the filtering out non-active issues on the DB level during the foreground reindex process. When disabled, Jira will fetch all issues and filter out archived issues in the runtime, instead of on the database query level.- Since:
- 9.9
-
QUICK_SEARCHING_MODE_SETTABLE
-
TEXT_GADGET_OUTPUT_SANITIZATION
Enables output sanitization for text gadget. See JSEC-3383- Since:
- 9.4.26, 9.10.0
-
FILTER_USERS_WITHOUT_PROJECT_ACCESS_IN_WATCHER_PICKER
Filter users without browse project access in watcher user picker. See PSR-623- Since:
- 9.11
-
IGNORE_BROWSE_USERS_PERMISSIONS_IN_USER_PICKERS
Ignore browse users permission (a.k.a. USER_PICKER) in user pickers- Since:
- 9.11.0
-
ATTACHMENTS_STORAGE_CONFIGURABLE
Allows admins to configure Jira to store attachments in S3. Enabled by default in 10.0.0+.- Since:
- 9.11
-
BACKUPS_STORAGE_CONFIGURABLE
Allows admins to configure Jira to store XML Backups in S3.- Since:
- 9.15
-
ALLOW_LOGIN_FROM_ENDPOINT
Enable com.atlassian.jira.rest.auth.Login, allowing for a new session creation through rest. See PSSRV-78445- Since:
- 9.4.10, 9.10.2
-
JQL_FILTER_PRESERVE_USER_INPUT
Enables preservation of JQL user input. See [JRASERVER-39107] JQL removes nested parentheses when saving filter- Since:
- 9.4.11
-
ALLOW_DESCRIPTION_BULK_EDIT
Enable users to bulk-edit the description field of an issue.- Since:
- 9.13
-
USE_THEME_SWITCHER
Enable theme switcher- Since:
- 9.15
-
PROJECT_TYPE_ANONYMOUS_ACCESS
Feature flag for blocking anonymous access to /rest/api/2/project/type and /rest/api/2/project/type/{projectTypeKey} endpoints in case if anonymous can't browse any project. See JSEC-3393- Since:
- 9.16
-
RESOLUTION_PAGE_ANONYMOUS_ACCESS
Feature flag for blocking anonymous access to /rest/api/2/resolution/page endpoint in case if anonymous can't browse any project. See JSEC-3393- Since:
- 9.16
-
JIRA_MANDATORY_QUICK_SETUP_FIELDS_OVERRIDE
Feature flag for allowing mandatory fields to be checked against the project context to see if they should be setup fields. This is used also by the Jira quick edit plugin.- Since:
- 10.0
-
-
Constructor Details
-
JiraFeatureFlagRegistrar
public JiraFeatureFlagRegistrar()
-
-
Method Details
-
registerFeatureFlag
-
registerFeatureFlag
public static FeatureFlag registerFeatureFlag(String featureKey, boolean defaultOn, boolean isAnalyticsSafe) -
getFeatureFlags
- Specified by:
getFeatureFlags
in interfaceFeatureFlagProvider
- Returns:
- a set of feature flags
-