Class JiraFeatureFlagRegistrar

java.lang.Object
com.atlassian.jira.JiraFeatureFlagRegistrar
All Implemented Interfaces:
FeatureFlagProvider

public class JiraFeatureFlagRegistrar extends Object implements 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 Details

    • JQL_SUGGEST_RECENT_FILDS_FEATURE

      public static final FeatureFlag JQL_SUGGEST_RECENT_FILDS_FEATURE
    • JQL_SMART_AUTOSELECTFIRST_FEATURE

      public static final FeatureFlag JQL_SMART_AUTOSELECTFIRST_FEATURE
    • ISSUE_TABLE_DRAGGABLE_FEATURE

      public static final FeatureFlag ISSUE_TABLE_DRAGGABLE_FEATURE
    • RENDERER_CONSIDER_VARIABLE_FORMAT_FEATURE

      public static final FeatureFlag 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

      public static final FeatureFlag RTE_WARN_ABOUT_BIDI_CHARS
      Feature flag for escaping & warning about bi-directional characters in rich text editor.
    • PRIORITIES_PER_PROJECT

      public static final FeatureFlag 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

      public static final FeatureFlag PRIORITIES_PER_PROJECT_JSD
    • PRIORITIES_PER_PROJECT_EDIT_DEFAULT_SCHEME

      public static final FeatureFlag PRIORITIES_PER_PROJECT_EDIT_DEFAULT_SCHEME
      JRASERVER-66660: feature flag to edit default priority scheme
      Since:
      8.2
    • FILTERS_UX_IMPROVEMENT

      public static final FeatureFlag 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

      public static final FeatureFlag SHARED_ENTITY_EDIT_RIGHTS
      Feature flag for Shared Entities(Shared Filters and Dashboards) edit rights.
    • ADMINS_CAN_EDIT_PRIVATE_FILTERS_AND_DASHBOARDS

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag BROWSE_ARCHIVED_PAGE
      Enables a browse archived issues page
    • PER_PROJECT_PERMISSION_QUERY

      public static final FeatureFlag PER_PROJECT_PERMISSION_QUERY
      Enables permission query optimization.
    • CUSTOMFIELDS_REDESIGN

      public static final FeatureFlag 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

      public static final FeatureFlag CUSTOMFIELDS_BETTER_MULTI_SELECTS
      Enables new components used for selection of issue types and projects
    • CUSTOM_FIELDS_CONFIGURE_MODERN_UI

      public static final FeatureFlag CUSTOM_FIELDS_CONFIGURE_MODERN_UI
      Enables new, improved UI for "Configure Custom Field" page.
    • ARCHIVED_ISSUES_FILTERS

      public static final FeatureFlag ARCHIVED_ISSUES_FILTERS
      Enables filters on archived issues page
    • USE_SNAPPY_FOR_INDEX_SNAPSHOTS

      public static final FeatureFlag USE_SNAPPY_FOR_INDEX_SNAPSHOTS
      Enables using Snappy for index snapshots.
    • DB_ID_BASED_KEY_GENERATION_STRATEGY

      public static final FeatureFlag 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

      public static final FeatureFlag USE_VERSION_BASED_NODE_REINDEX_SERVICE
      This feature is about using the version based NodeReindexService and is enabled after ZDU to 8.10.
      Since:
      8.10
    • GDPR_RTBF

      public static final FeatureFlag GDPR_RTBF
      Enables GDPR RTBF UI for user anonymization.
      Since:
      8.4
    • SECURITY_XSRF_SESSION_TOKEN

      public static final FeatureFlag SECURITY_XSRF_SESSION_TOKEN
      Enables protection by session stored XSRF token (default is cookie stored)
    • JIRA_ATTACHMENT_GENERATE_UNIQUE_SUFFIX_ENABLED

      public static final FeatureFlag JIRA_ATTACHMENT_GENERATE_UNIQUE_SUFFIX_ENABLED
      Enables unique suffix generation for every new attachment.
      Since:
      8.6
    • ACCESSIBILITY_PERSONAL_SETTINGS

      public static final FeatureFlag ACCESSIBILITY_PERSONAL_SETTINGS
      Enables Accessibility Personal Settings.
      Since:
      8.8
    • CLEANUP_CLUSTER_TASKS

      public static final FeatureFlag CLEANUP_CLUSTER_TASKS
      Enables cleaning up tasks from offline DC nodes.
      See Also:
    • CLUSTER_MONITORING_SHOW_OFFLINE_NODES

      public static final FeatureFlag CLUSTER_MONITORING_SHOW_OFFLINE_NODES
      Enables reporting offline nodes in cluster monitoring.
      Since:
      8.9
    • REDIRECTING_ANONYMOUS_ACCESS_TO_404_ERRORS

      public static final FeatureFlag 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

      public static final FeatureFlag DOCUMENT_BASED_INDEX_REPLICATION
      Enables Document Based index Replication in DC nodes.
      Since:
      8.10
    • SMTP_SERVER_HOSTNAME_VERIFICATION_FEATURE_FLAG

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag TERMINOLOGY_CHANGES
      Allows admins to change terminology in Jira (names for Sprint and Epic, as of 8.14).
      Since:
      8.14
    • CUSTOMFIELDS_IDENTIFICATION

      public static final FeatureFlag 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

      public static final FeatureFlag CUSTOMFIELDS_BULK_DELETE
      Enables bulk deletion and DELETE REST endpoint for Custom Fields
      Since:
      8.16
    • DEFAULT_VALUES_FOR_SYSTEM_FIELDS

      public static final FeatureFlag DEFAULT_VALUES_FOR_SYSTEM_FIELDS
      Enables default values for system fields
      Since:
      8.16
    • RETURN_DEFAULT_AVATARS_FOR_BROKEN_AVATARS

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag ENABLE_SANDBOX_CONTENT_SECURITY_POLICY
      Allows to disable new Content Security Policy implemented in DynamicContentSecurityPolicyResponseWrapper
      Since:
      8.16.0
    • COMMENT_REACTIONS

      public static final FeatureFlag COMMENT_REACTIONS
      Enables comment reactions
      Since:
      8.17
    • WARN_ONLY_ON_UNSAFE_WORKFLOW_CLASS

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag CHART_UTILS_BROWSE_PROJECTS_PERMISSION_CHECK
      Enabled 'BROWSE_PROJECTS' permission check during project search request creation
      Since:
      8.13
    • EXECUTE_SEARCH_EFFICIENCY_MEASUREMENTS

      public static final FeatureFlag 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 from DefaultUserPickerSearchService
      Since:
      8.19.1
    • REVOKE_ADMINISTER_PROJECTS_WITHOUT_APPLICATION_ACCESS

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag 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 with DoesNotRequireXsrfCheck.
      Since:
      9.0
      See Also:
    • SAFEGUARDS

      public static final FeatureFlag SAFEGUARDS
      Enables safeguards ready for production features.
      Since:
      9.0
    • SAFEGUARDS_WORK_IN_PROGRESS

      public static final FeatureFlag SAFEGUARDS_WORK_IN_PROGRESS
      Enables safeguards work in progress features.
      Since:
      9.0
    • SAFEGUARDS_EMAIL_NOTIFICATIONS

      public static final FeatureFlag SAFEGUARDS_EMAIL_NOTIFICATIONS
      Enables safeguards email notifications.
      Since:
      9.0
    • XML_DESERIALIZER_ALLOWLIST

      public static final FeatureFlag XML_DESERIALIZER_ALLOWLIST
      Switch from blocklist to allowlist in our xml deserializer (xstream).
      Since:
      8.22
    • NOTIFY_USERS_WITHOUT_APPLICATION_ACCESS

      public static final FeatureFlag NOTIFY_USERS_WITHOUT_APPLICATION_ACCESS
      Enables old behaviour fixed by JSEC-602
      Since:
      8.20.6
    • LAZY_LOAD_ACTIVITY_TABS

      public static final FeatureFlag LAZY_LOAD_ACTIVITY_TABS
      Use AJAX-based lazy loading for activity tabs
      Since:
      9.0.0
    • SER_ALLOW_SHARE_WITH_NON_MEMBER

      public static final FeatureFlag 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

      public static final FeatureFlag IN_PRODUCT_DIAGNOSTICS
      Enables In-product Diagnostics tool functionality.
      Since:
      9.1
    • IN_PRODUCT_DIAGNOSTICS_WIP

      public static final FeatureFlag IN_PRODUCT_DIAGNOSTICS_WIP
      Enables In-product Diagnostics tool work in progress features.
      Since:
      9.5
    • IPD_EXTRA_LOGGING

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag PIN_COMMENTS
      Enables feature of pinning comments.
      Since:
      9.7
    • CACHE_RESOURCE

      public static final FeatureFlag 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

      public static final FeatureFlag PROJECT_ARCHIVED_ISSUES_MARKED_IN_ISSUE_TABLE
      Enables optimised DB queries for counting active and archived issues that can be used only after UpgradeTask_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

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag INTEGRITY_CHECKER_TASK_CLEANUP
      Enables the additional feature that cleans up the remaining finished IntegrityChecker tasks from the TaskManager See FLASH-3808
      Since:
      9.11
    • DB_FILTER_OUT_ARCHIVE_ISSUES_DURING_FULL_REINDEX

      public static final FeatureFlag 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

      public static final FeatureFlag QUICK_SEARCHING_MODE_SETTABLE
    • TEXT_GADGET_OUTPUT_SANITIZATION

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag BACKUPS_STORAGE_CONFIGURABLE
      Allows admins to configure Jira to store XML Backups in S3.
      Since:
      9.15
    • ALLOW_LOGIN_FROM_ENDPOINT

      public static final FeatureFlag 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

      public static final FeatureFlag JQL_FILTER_PRESERVE_USER_INPUT
      Since:
      9.4.11
    • ALLOW_DESCRIPTION_BULK_EDIT

      public static final FeatureFlag ALLOW_DESCRIPTION_BULK_EDIT
      Enable users to bulk-edit the description field of an issue.
      Since:
      9.13
    • USE_THEME_SWITCHER

      public static final FeatureFlag USE_THEME_SWITCHER
      Enable theme switcher
      Since:
      9.15
    • PROJECT_TYPE_ANONYMOUS_ACCESS

      public static final FeatureFlag 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

      public static final FeatureFlag 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

      public static final FeatureFlag 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