##################### Project Feature Flags ##################### Reference --------- * v4 API: + :class:`gitlab.v4.objects.ProjectFeatureFlag` + :class:`gitlab.v4.objects.ProjectFeatureFlagManager` + :attr:`gitlab.v4.objects.Project.feature_flags` * GitLab API: https://docs.gitlab.com/api/feature_flags Examples -------- List feature flags:: flags = project.feature_flags.list() Get a feature flag:: flag = project.feature_flags.get('my_feature_flag') Create a feature flag:: flag = project.feature_flags.create({'name': 'my_feature_flag', 'version': 'new_version_flag'}) Create a feature flag with strategies:: flag = project.feature_flags.create({ 'name': 'my_complex_flag', 'version': 'new_version_flag', 'strategies': [{ 'name': 'userWithId', 'parameters': {'userIds': 'user1,user2'} }] }) Update a feature flag:: flag.description = 'Updated description' flag.save() Rename a feature flag:: # You can rename a flag by changing its name attribute and calling save() flag.name = 'new_flag_name' flag.save() # Alternatively, you can use the manager's update method project.feature_flags.update('old_flag_name', {'name': 'new_flag_name'}) Delete a feature flag:: flag.delete() See also -------- * :doc:`project_feature_flag_user_lists`