summaryrefslogtreecommitdiff
path: root/lib/tasks/gitlab/openapi.rake
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-10-20 09:40:42 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-10-20 09:40:42 +0000
commitee664acb356f8123f4f6b00b73c1e1cf0866c7fb (patch)
treef8479f94a28f66654c6a4f6fb99bad6b4e86a40e /lib/tasks/gitlab/openapi.rake
parent62f7d5c5b69180e82ae8196b7b429eeffc8e7b4f (diff)
downloadgitlab-ce-ee664acb356f8123f4f6b00b73c1e1cf0866c7fb.tar.gz
Add latest changes from gitlab-org/gitlab@15-5-stable-eev15.5.0-rc42
Diffstat (limited to 'lib/tasks/gitlab/openapi.rake')
-rw-r--r--lib/tasks/gitlab/openapi.rake23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/tasks/gitlab/openapi.rake b/lib/tasks/gitlab/openapi.rake
new file mode 100644
index 00000000000..fd067a1bf0b
--- /dev/null
+++ b/lib/tasks/gitlab/openapi.rake
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'logger'
+
+if Rails.env.development?
+ require 'grape-swagger/rake/oapi_tasks'
+ GrapeSwagger::Rake::OapiTasks.new('::API::API')
+end
+
+namespace :gitlab do
+ namespace :openapi do
+ task :generate do
+ raise 'This task can only be run in the development environment' unless Rails.env.development?
+
+ ENV['store'] = 'tmp/openapi.json'
+ Rake::Task["oapi:fetch"].invoke(['openapi.json'])
+
+ yaml_content = Gitlab::Json.parse(File.read('tmp/openapi_swagger_doc.json')).to_yaml
+
+ File.write("doc/api/openapi/openapi_v2.yaml", yaml_content)
+ end
+ end
+end