Skip to content

featureflags: Require version and rollout issue URL for flags

When creating a new feature flag it is mandatory to create a feature flag rollout issue that keeps track of the current status of any flag. This issue is used both to not forget about rolling out a flag, and also for the sake of documenting whole rollout process. We have nothing in our process though that enforces creation of any such issue, and thus it happens from time to time that we forget to create it.

Add two new parameters to NewFeatureFlag() that document the version a flag has been introduced in and the URL of the issue that's tracking the rollout. This brings us several benefits:

- It's hard to forget about creating the issue given that you now
  have to specify the link when creating the flag.

- Reviewers immediately spot a missing link and can verify that it's
  referring to the correct flag. Furthermore, they may review the
  rollout issue itself to see whether it documents important
  details.

- When checking up on a feature flag after it has been merged it
  becomes trivial to find the rollout issue as a developer.

Furthermore, this commit also adds a new version parameter to keep track of the version a flag has been introduced in. This also makes it easier for reviewers to see whether a flag can really already be removed or not.

Adjust all existing feature flag definitions to have this information.

Closes #4312 (closed).

Edited by Patrick Steinhardt

Merge request reports