diff --git a/doc/development/rake_tasks.md b/doc/development/rake_tasks.md index 53f8095cb13..a4a980cf0e0 100644 --- a/doc/development/rake_tasks.md +++ b/doc/development/rake_tasks.md @@ -27,3 +27,9 @@ You can find results under the `doc/code` directory. ``` bundle exec rake gitlab:generate_docs ``` + +## Generate API documentation for project services (e.g. Slack) + +``` +bundle exec rake services:doc +``` diff --git a/lib/tasks/services.rake b/lib/tasks/services.rake index 53d912d2a7c..3f276a5e12e 100644 --- a/lib/tasks/services.rake +++ b/lib/tasks/services.rake @@ -44,11 +44,11 @@ DELETE /projects/:id/services/<%= service[:dashed_name] %> ERB namespace :services do - task :doc do + task doc: :environment do services = Service.available_services_names.map do |s| service_start = Time.now klass = "#{s}_service".classify.constantize - + service = klass.new service_hash = {} @@ -62,7 +62,7 @@ namespace :services do param_hash[:name] = p[:name] param_hash[:description] = p[:placeholder] || p[:title] - param_hash[:required] = klass.validators_on(p[:name].to_sym).any? do |v| + param_hash[:required] = klass.validators_on(p[:name].to_sym).any? do |v| v.class == ActiveRecord::Validations::PresenceValidator end