1.6 KiB
1.6 KiB
stage | group | info |
---|---|---|
Fulfillment | License | To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments |
Licensed feature availability
As of GitLab 9.4, we've been supporting a simplified version of licensed
feature availability checks via ee/app/models/license.rb
, both for
on-premise or GitLab.com plans and features.
Restricting features scoped by namespaces or projects
GitLab.com plans are persisted on user groups and namespaces, therefore, if you're adding a feature such as Related issues or Service Desk, it should be restricted on namespace scope.
- Add the feature symbol on
EES_FEATURES
,EEP_FEATURES
, orEEU_FEATURES
constants inee/app/models/license.rb
. Note that the prefixEES
signifies Starter,EEP
signifies Premium, andEEU
signifies Ultimate. - Check using:
project.feature_available?(:feature_symbol)
Restricting global features (instance)
However, for features such as Geo and Load balancing, which cannot be restricted to only a subset of projects or namespaces, the check is made directly in the instance license.
- Add the feature symbol on
EES_FEATURES
,EEP_FEATURES
orEEU_FEATURES
constants inee/app/models/license.rb
. - Add the same feature symbol to
GLOBAL_FEATURES
. - Check using:
License.feature_available?(:feature_symbol)