261 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			261 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require 'swagger/blocks'
 | |
| 
 | |
| require_relative 'devops_error'
 | |
| require_relative 'devops_response'
 | |
| 
 | |
| module Devops
 | |
|   module API3
 | |
|     module Docs
 | |
|       class JobTaskRoutes
 | |
| 
 | |
|         include Swagger::Blocks
 | |
| 
 | |
|         swagger_path "/tasks/all" do
 | |
|           operation :get do
 | |
|             key :description, 'Get tasks list'
 | |
|             key :operationId, 'getTasks'
 | |
|             key :tags, [
 | |
|               'task'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :date_from
 | |
|               key :in, :query
 | |
|               key :description, "Date from in format 'YYYY-MM-DD'"
 | |
|               key :required, false
 | |
|               key :type, :string
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :date_from_l
 | |
|               key :in, :query
 | |
|               key :description, "Date from in unixtime"
 | |
|               key :required, false
 | |
|               key :type, :integer
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :date_till
 | |
|               key :in, :query
 | |
|               key :description, "Date till in format 'YYYY-MM-DD'"
 | |
|               key :required, false
 | |
|               key :type, :string
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :date_till_l
 | |
|               key :in, :query
 | |
|               key :description, "Date till in unixtime"
 | |
|               key :required, false
 | |
|               key :type, :integer
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :sort_field
 | |
|               key :in, :query
 | |
|               key :description, "Field to sort by, default value: created_at"
 | |
|               key :required, false
 | |
|               key :type, :string
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :sort_order
 | |
|               key :in, :query
 | |
|               key :description, "Sort order, default value: asc"
 | |
|               key :required, false
 | |
|               key :type, :string
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :limit
 | |
|               key :in, :query
 | |
|               key :description, "Documents number, default value: 10"
 | |
|               key :required, false
 | |
|               key :type, :integer
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :query
 | |
|               key :description, "Project id"
 | |
|               key :required, false
 | |
|               key :type, :string
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :environment
 | |
|               key :in, :query
 | |
|               key :description, "Environment id"
 | |
|               key :required, false
 | |
|               key :type, :string
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :category
 | |
|               key :in, :query
 | |
|               key :description, "Category id"
 | |
|               key :required, false
 | |
|               key :type, :string
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :type
 | |
|               key :in, :query
 | |
|               key :description, "Job task type"
 | |
|               key :required, false
 | |
|               key :type, :integer
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :server_id
 | |
|               key :in, :query
 | |
|               key :description, "Server id"
 | |
|               key :required, false
 | |
|               key :type, :string
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :created_by
 | |
|               key :in, :query
 | |
|               key :description, "User how created job task"
 | |
|               key :required, false
 | |
|               key :type, :string
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Tasks response'
 | |
|               schema do
 | |
|                 key :type, :array
 | |
|                 items do
 | |
|                   key :'$ref', :TaskResponse
 | |
|                 end
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/task/{id}" do
 | |
|           operation :get do
 | |
|             key :description, 'Get task'
 | |
|             key :operationId, 'getTask'
 | |
|             key :tags, [
 | |
|               'task'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :id
 | |
|               key :in, :path
 | |
|               key :description, 'Task id'
 | |
|               key :required, true
 | |
|               key :type, :string
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Task response'
 | |
|               schema do
 | |
|                 key :'$ref', :TaskResponse
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/task/{id}/report" do
 | |
|           operation :get do
 | |
|             key :description, 'Get task report'
 | |
|             key :operationId, 'getTaskReport'
 | |
|             key :tags, [
 | |
|               'task'
 | |
|             ]
 | |
|             key :produces, [
 | |
|               'text/html'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :id
 | |
|               key :in, :path
 | |
|               key :description, 'Task id'
 | |
|               key :required, true
 | |
|               key :type, :string
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Task report'
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/task/{id}/status" do
 | |
|           operation :get do
 | |
|             key :description, 'Get task status'
 | |
|             key :operationId, 'getTaskStatus'
 | |
|             key :tags, [
 | |
|               'task'
 | |
|             ]
 | |
|             key :produces, [
 | |
|               'text/html'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :id
 | |
|               key :in, :path
 | |
|               key :description, 'Task id'
 | |
|               key :required, true
 | |
|               key :type, :string
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Task status'
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_schema :TaskResponse do
 | |
|           property :id do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :server_id do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :stack do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :project do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :environment do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :category do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :created_by do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :status do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :job_result_code do
 | |
|             key :type, :integer
 | |
|           end
 | |
|           property :type do
 | |
|             key :type, :integer
 | |
|           end
 | |
|           property :created_at do
 | |
|             key :type, :integer
 | |
|             key :format, :int64
 | |
|           end
 | |
|           property :updated_at do
 | |
|             key :type, :integer
 | |
|             key :format, :int64
 | |
|           end
 | |
|         end
 | |
| 
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 | 
