################################
GitLab Development Feature Flags
################################

.. note::

   This API is for managing GitLab's internal development feature flags and requires administrator access.
   For project-level feature flags, see :doc:`project_feature_flags`.

Reference
---------

* v4 API:

  + :class:`gitlab.v4.objects.Feature`
  + :class:`gitlab.v4.objects.FeatureManager`
  + :attr:`gitlab.Gitlab.features`

* GitLab API: https://docs.gitlab.com/api/features

Examples
--------

List features::

    features = gl.features.list(get_all=True)

Create or set a feature::

    feature = gl.features.set(feature_name, True)
    feature = gl.features.set(feature_name, 30)
    feature = gl.features.set(feature_name, True, user=filipowm)
    feature = gl.features.set(feature_name, 40, group=mygroup)

Delete a feature::

    feature.delete()