Skip to content

GitLab Next

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
GitLab GitLab
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 38,038
    • Issues 38,038
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 1,345
    • Merge requests 1,345
  • Requirements
    • Requirements
    • List
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Operations
    • Operations
    • Metrics
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.org
  • GitLabGitLab
  • Issues
  • #9566

Closed
Open
Created Feb 03, 2019 by Shinya Maeda@shinya.maeda💡Maintainer3 of 5 tasks completed3/5 tasks

Add public API for Feature Flags

Description

We have the Feature Flag feature, but users can manipulate entries on GUI only. They, especially automation engineers, would want to control it via Public API. This will also allow for automation.

Proposal

Add public API for Feature Flags

GET    /api/:version/projects/:id/feature_flags(.:format)                                - Get all feature flags of a project
POST   /api/:version/projects/:id/feature_flags(.:format)                                - Create a new feature flag
GET    /api/:version/projects/:id/feature_flags/:name(.:format)                          - Get a feature flag of a project
DELETE /api/:version/projects/:id/feature_flags/:name(.:format)                          - Delete a feature flag
GET    /api/:version/projects/:id/feature_flag_scopes(.:format)                          - Get all effective feature flags under the environment scope
GET    /api/:version/projects/:id/feature_flags/:name/scopes(.:format)                   - Get all scopes of a feature flag
POST   /api/:version/projects/:id/feature_flags/:name/scopes(.:format)                   - Create a new scope for a feature flag
GET    /api/:version/projects/:id/feature_flags/:name/scopes/environment_scope(.:format) - Get a scope of a feature flag
PUT    /api/:version/projects/:id/feature_flags/:name/scopes/environment_scope(.:format) - Update a scope of a feature flag
DELETE /api/:version/projects/:id/feature_flags/:name/scopes/environment_scope(.:format) - Delete a scope from a feature flag

The following endpoints are private at this moment, and follow-up in #34664.

POST   /api/:version/projects/:id/feature_flags/:name/enable(.:format)                   - Enable a strategy of a feature flag for an environment
POST   /api/:version/projects/:id/feature_flags/:name/disable(.:format)                  - Disable a strategy of a feature flag for an environment

TODO

  • FF CRD APIs !18198 (merged)
  • FF enable/disable APIs !18368 (merged)
  • FF scope APIs !18200 (merged)
  • feature_flag_api adjustment and Documentation => !19547 (merged)
  • PUT /api/:version/projects/:id/feature_flags/:name/scopes/environment_scope(.:format) - Update a scope of a feature flag => !19677 (merged)
Edited Nov 06, 2019 by Shinya Maeda
Assignee
Assign to
12.5
Milestone
12.5 (Past due)
Assign milestone
Time tracking