diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-10-22 11:31:16 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-10-22 11:31:16 +0000 |
commit | 905c1110b08f93a19661cf42a276c7ea90d0a0ff (patch) | |
tree | 756d138db422392c00471ab06acdff92c5a9b69c /scripts/update-feature-categories | |
parent | 50d93f8d1686950fc58dda4823c4835fd0d8c14b (diff) | |
download | gitlab-ce-905c1110b08f93a19661cf42a276c7ea90d0a0ff.tar.gz |
Add latest changes from gitlab-org/gitlab@12-4-stable-ee
Diffstat (limited to 'scripts/update-feature-categories')
-rwxr-xr-x | scripts/update-feature-categories | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/scripts/update-feature-categories b/scripts/update-feature-categories new file mode 100755 index 00000000000..ed5d8dccdd6 --- /dev/null +++ b/scripts/update-feature-categories @@ -0,0 +1,36 @@ +#!/usr/bin/env ruby + +require 'uri' +require 'net/http' +require 'yaml' + +url = URI("https://gitlab.com/gitlab-com/www-gitlab-com/raw/master/data/stages.yml") + +http = Net::HTTP.new(url.host, url.port) +http.use_ssl = true + +request = Net::HTTP::Get.new(url) + +response = http.request(request) + +stages_doc = YAML.safe_load(response.read_body) +feature_categories = stages_doc["stages"].values + .flat_map { |stage| stage["groups"].values } + .flat_map { |group| group["categories"] } + .select(&:itself) + .uniq + .sort + +File.open("#{__dir__}/../config/feature_categories.yml", 'w') do |file| + file.puts(<<~HEADER_COMMENT) + # + # This file contains a list of all feature categories in GitLab + # It is generated from the stages file at #{url}. + # If you would like to update it, please run + # `./scripts/update-feature-categories` to generate a new copy + # + # PLEASE DO NOT EDIT THIS FILE MANUALLY. + # + HEADER_COMMENT + file.write(feature_categories.to_yaml) +end |