Commit e32809d6 authored by Rémy Coutable's avatar Rémy Coutable

Merge branch 'feature-flag-milestone' into 'master'

Extend `bin/feature-flag` with `milestone`

See merge request gitlab-org/gitlab!46463
parents 5a8f9821 002cbbcb
...@@ -35,6 +35,7 @@ class FeatureFlagOptionParser ...@@ -35,6 +35,7 @@ class FeatureFlagOptionParser
:name, :name,
:type, :type,
:group, :group,
:milestone,
:ee, :ee,
:amend, :amend,
:dry_run, :dry_run,
...@@ -64,6 +65,10 @@ class FeatureFlagOptionParser ...@@ -64,6 +65,10 @@ class FeatureFlagOptionParser
options.introduced_by_url = value options.introduced_by_url = value
end end
opts.on('-M', '--milestone [string]', String, 'Milestone in which the Feature Flag was introduced') do |value|
options.milestone = value
end
opts.on('-i', '--rollout-issue-url [string]', String, 'URL of Issue rolling out the Feature Flag') do |value| opts.on('-i', '--rollout-issue-url [string]', String, 'URL of Issue rolling out the Feature Flag') do |value|
options.rollout_issue_url = value options.rollout_issue_url = value
end end
...@@ -188,6 +193,11 @@ class FeatureFlagOptionParser ...@@ -188,6 +193,11 @@ class FeatureFlagOptionParser
end end
end end
def read_milestone
milestone = File.read('VERSION')
milestone.gsub(/^(\d+\.\d+).*$/, '\1').chomp
end
def read_default_enabled(options) def read_default_enabled(options)
TYPES.dig(options.type, :default_enabled) TYPES.dig(options.type, :default_enabled)
end end
...@@ -214,6 +224,7 @@ class FeatureFlagCreator ...@@ -214,6 +224,7 @@ class FeatureFlagCreator
options.group ||= FeatureFlagOptionParser.read_group options.group ||= FeatureFlagOptionParser.read_group
options.introduced_by_url ||= FeatureFlagOptionParser.read_introduced_by_url options.introduced_by_url ||= FeatureFlagOptionParser.read_introduced_by_url
options.rollout_issue_url ||= FeatureFlagOptionParser.read_rollout_issue_url(options) options.rollout_issue_url ||= FeatureFlagOptionParser.read_rollout_issue_url(options)
options.milestone ||= FeatureFlagOptionParser.read_milestone
$stdout.puts "\e[32mcreate\e[0m #{file_path}" $stdout.puts "\e[32mcreate\e[0m #{file_path}"
$stdout.puts contents $stdout.puts contents
...@@ -243,6 +254,7 @@ class FeatureFlagCreator ...@@ -243,6 +254,7 @@ class FeatureFlagCreator
'name' => options.name, 'name' => options.name,
'introduced_by_url' => options.introduced_by_url, 'introduced_by_url' => options.introduced_by_url,
'rollout_issue_url' => options.rollout_issue_url, 'rollout_issue_url' => options.rollout_issue_url,
'milestone' => options.milestone,
'group' => options.group, 'group' => options.group,
'type' => options.type.to_s, 'type' => options.type.to_s,
'default_enabled' => FeatureFlagOptionParser.read_default_enabled(options) 'default_enabled' => FeatureFlagOptionParser.read_default_enabled(options)
......
...@@ -57,6 +57,7 @@ class Feature ...@@ -57,6 +57,7 @@ class Feature
name name
introduced_by_url introduced_by_url
rollout_issue_url rollout_issue_url
milestone
type type
group group
default_enabled default_enabled
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment