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
|