{ "schemes": [ "http", "https" ], "swagger": "2.0", "info": { "description": "Internal deployment platform API.", "title": "GOS API", "contact": {}, "version": "1.0" }, "basePath": "/", "paths": { "/applications": { "get": { "produces": [ "application/json" ], "tags": [ "applications" ], "summary": "List applications", "parameters": [ { "type": "string", "description": "Application key", "name": "key", "in": "query" }, { "type": "string", "description": "Application name", "name": "name", "in": "query" }, { "type": "string", "description": "Application status", "name": "status", "in": "query" }, { "type": "integer", "description": "Page number, starts from 1", "name": "page", "in": "query" }, { "type": "integer", "description": "Page size, max 100", "name": "page_size", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.ApplicationListResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } }, "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "applications" ], "summary": "Create application", "parameters": [ { "description": "Create application request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/httpapi.CreateApplicationRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/httpapi.ApplicationDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/applications/{id}": { "get": { "produces": [ "application/json" ], "tags": [ "applications" ], "summary": "Get application by ID", "parameters": [ { "type": "string", "description": "Application ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.ApplicationDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } }, "put": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "applications" ], "summary": "Update application", "parameters": [ { "type": "string", "description": "Application ID", "name": "id", "in": "path", "required": true }, { "description": "Update application request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/httpapi.UpdateApplicationRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.ApplicationDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } }, "delete": { "produces": [ "application/json" ], "tags": [ "applications" ], "summary": "Delete application", "parameters": [ { "type": "string", "description": "Application ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": { "description": "No Content", "schema": { "type": "string" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/applications/{id}/pipeline-bindings": { "get": { "produces": [ "application/json" ], "tags": [ "pipeline-bindings" ], "summary": "List pipeline bindings for application", "parameters": [ { "type": "string", "description": "Application ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "Binding type: ci/cd", "name": "binding_type", "in": "query" }, { "type": "string", "description": "Provider: jenkins/argocd", "name": "provider", "in": "query" }, { "type": "string", "description": "Binding status", "name": "status", "in": "query" }, { "type": "integer", "description": "Page number", "name": "page", "in": "query" }, { "type": "integer", "description": "Page size", "name": "page_size", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.PipelineBindingListResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } }, "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "pipeline-bindings" ], "summary": "Create pipeline binding for application", "parameters": [ { "type": "string", "description": "Application ID", "name": "id", "in": "path", "required": true }, { "description": "Create binding request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/httpapi.CreateBindingRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/httpapi.PipelineBindingDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/applications/{id}/pipeline-param-defs": { "get": { "produces": [ "application/json" ], "tags": [ "pipeline-param-defs" ], "summary": "List bound Jenkins pipeline param definitions by application", "parameters": [ { "type": "string", "description": "Application ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "Binding type, default ci", "name": "binding_type", "in": "query" }, { "type": "boolean", "description": "Visible flag", "name": "visible", "in": "query" }, { "type": "boolean", "description": "Editable flag", "name": "editable", "in": "query" }, { "type": "string", "description": "Mapped platform param key", "name": "param_key", "in": "query" }, { "type": "integer", "description": "Page number", "name": "page", "in": "query" }, { "type": "integer", "description": "Page size", "name": "page_size", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.PipelineParamDefListResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/jenkins/pipeline-param-defs/sync": { "post": { "produces": [ "application/json" ], "tags": [ "pipeline-param-defs" ], "summary": "Sync pipeline param definitions from Jenkins", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.SyncPipelineParamDefsResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/jenkins/pipelines/sync": { "post": { "produces": [ "application/json" ], "tags": [ "pipelines" ], "summary": "Sync pipelines from Jenkins", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.SyncPipelinesResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/pipeline-bindings/{id}": { "get": { "produces": [ "application/json" ], "tags": [ "pipeline-bindings" ], "summary": "Get pipeline binding by ID", "parameters": [ { "type": "string", "description": "Binding ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.PipelineBindingDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } }, "put": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "pipeline-bindings" ], "summary": "Update pipeline binding", "parameters": [ { "type": "string", "description": "Binding ID", "name": "id", "in": "path", "required": true }, { "description": "Update binding request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/httpapi.UpdateBindingRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.PipelineBindingDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } }, "delete": { "produces": [ "application/json" ], "tags": [ "pipeline-bindings" ], "summary": "Delete pipeline binding", "parameters": [ { "type": "string", "description": "Binding ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": { "description": "No Content", "schema": { "type": "string" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/pipeline-param-defs/{id}": { "get": { "produces": [ "application/json" ], "tags": [ "pipeline-param-defs" ], "summary": "Get pipeline param definition by ID", "parameters": [ { "type": "string", "description": "Pipeline param definition ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.PipelineParamDefDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } }, "put": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "pipeline-param-defs" ], "summary": "Update pipeline param definition mapping", "parameters": [ { "type": "string", "description": "Pipeline param definition ID", "name": "id", "in": "path", "required": true }, { "description": "Update pipeline param definition request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/httpapi.UpdatePipelineParamDefRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.PipelineParamDefDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/pipelines": { "get": { "produces": [ "application/json" ], "tags": [ "pipelines" ], "summary": "List pipelines", "parameters": [ { "type": "string", "description": "Pipeline name", "name": "name", "in": "query" }, { "type": "string", "description": "Provider, default jenkins", "name": "provider", "in": "query" }, { "type": "string", "description": "Pipeline status", "name": "status", "in": "query" }, { "type": "integer", "description": "Page number", "name": "page", "in": "query" }, { "type": "integer", "description": "Page size", "name": "page_size", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.PipelineListResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/pipelines/{id}": { "get": { "produces": [ "application/json" ], "tags": [ "pipelines" ], "summary": "Get pipeline by ID", "parameters": [ { "type": "string", "description": "Pipeline ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.PipelineDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/pipelines/{id}/param-defs": { "get": { "produces": [ "application/json" ], "tags": [ "pipeline-param-defs" ], "summary": "List pipeline param definitions", "parameters": [ { "type": "string", "description": "Pipeline ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "Executor type", "name": "executor_type", "in": "query" }, { "type": "boolean", "description": "Visible flag", "name": "visible", "in": "query" }, { "type": "boolean", "description": "Editable flag", "name": "editable", "in": "query" }, { "type": "string", "description": "Mapped platform param key", "name": "param_key", "in": "query" }, { "type": "integer", "description": "Page number", "name": "page", "in": "query" }, { "type": "integer", "description": "Page size", "name": "page_size", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.PipelineParamDefListResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/pipelines/{id}/raw-script": { "get": { "produces": [ "application/json" ], "tags": [ "pipelines" ], "summary": "Get Jenkins pipeline raw script", "parameters": [ { "type": "string", "description": "Pipeline ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.PipelineRawScriptDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/pipelines/{id}/verify": { "post": { "produces": [ "application/json" ], "tags": [ "pipelines" ], "summary": "Verify Jenkins pipeline availability", "parameters": [ { "type": "string", "description": "Pipeline ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.VerifyPipelineResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/platform-param-dicts": { "get": { "produces": [ "application/json" ], "tags": [ "platform-param-dicts" ], "summary": "List platform param dicts", "parameters": [ { "type": "string", "description": "Platform param key", "name": "param_key", "in": "query" }, { "type": "string", "description": "Platform param name", "name": "name", "in": "query" }, { "type": "integer", "description": "Status: 1 enabled, 0 disabled", "name": "status", "in": "query" }, { "type": "boolean", "description": "Builtin flag", "name": "builtin", "in": "query" }, { "type": "integer", "description": "Page number", "name": "page", "in": "query" }, { "type": "integer", "description": "Page size", "name": "page_size", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.PlatformParamDictListResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } }, "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "platform-param-dicts" ], "summary": "Create platform param dict", "parameters": [ { "description": "Create platform param dict request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/httpapi.CreatePlatformParamDictRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/httpapi.PlatformParamDictDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/platform-param-dicts/{id}": { "get": { "produces": [ "application/json" ], "tags": [ "platform-param-dicts" ], "summary": "Get platform param dict by ID", "parameters": [ { "type": "string", "description": "Platform param dict ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.PlatformParamDictDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } }, "put": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "platform-param-dicts" ], "summary": "Update platform param dict", "parameters": [ { "type": "string", "description": "Platform param dict ID", "name": "id", "in": "path", "required": true }, { "description": "Update platform param dict request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/httpapi.UpdatePlatformParamDictRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.PlatformParamDictDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } }, "delete": { "produces": [ "application/json" ], "tags": [ "platform-param-dicts" ], "summary": "Delete platform param dict", "parameters": [ { "type": "string", "description": "Platform param dict ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": { "description": "No Content", "schema": { "type": "string" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/release-orders": { "get": { "produces": [ "application/json" ], "tags": [ "release-orders" ], "summary": "List release orders", "parameters": [ { "type": "string", "description": "Application ID", "name": "application_id", "in": "query" }, { "type": "string", "description": "Pipeline binding ID", "name": "binding_id", "in": "query" }, { "type": "string", "description": "Environment code", "name": "env_code", "in": "query" }, { "type": "string", "description": "Release status", "name": "status", "in": "query" }, { "type": "string", "description": "Trigger type", "name": "trigger_type", "in": "query" }, { "type": "integer", "description": "Page number", "name": "page", "in": "query" }, { "type": "integer", "description": "Page size", "name": "page_size", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.ReleaseOrderListResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } }, "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "release-orders" ], "summary": "Create release order", "parameters": [ { "description": "Create release order request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/httpapi.CreateReleaseOrderRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/httpapi.ReleaseOrderDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/release-orders/{id}": { "get": { "produces": [ "application/json" ], "tags": [ "release-orders" ], "summary": "Get release order by ID", "parameters": [ { "type": "string", "description": "Release order ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.ReleaseOrderDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/release-orders/{id}/cancel": { "post": { "produces": [ "application/json" ], "tags": [ "release-orders" ], "summary": "Cancel release order", "parameters": [ { "type": "string", "description": "Release order ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.ReleaseOrderDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/release-orders/{id}/execute": { "post": { "produces": [ "application/json" ], "tags": [ "release-orders" ], "summary": "Execute release order", "parameters": [ { "type": "string", "description": "Release order ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.ReleaseOrderDataResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/release-orders/{id}/logs/stream": { "get": { "produces": [ "text/event-stream" ], "tags": [ "release-orders" ], "summary": "Stream release order logs", "parameters": [ { "type": "string", "description": "Release order ID", "name": "id", "in": "path", "required": true }, { "type": "integer", "description": "Start offset for progressive logs", "name": "start", "in": "query" } ], "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/release-orders/{id}/params": { "get": { "produces": [ "application/json" ], "tags": [ "release-orders" ], "summary": "List release order params", "parameters": [ { "type": "string", "description": "Release order ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.ReleaseOrderParamListResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/release-orders/{id}/steps": { "get": { "produces": [ "application/json" ], "tags": [ "release-orders" ], "summary": "List release order steps", "parameters": [ { "type": "string", "description": "Release order ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.ReleaseOrderStepListResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/release-orders/{id}/steps/{step_code}/finish": { "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "release-orders" ], "summary": "Finish release order step", "parameters": [ { "type": "string", "description": "Release order ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "Step code", "name": "step_code", "in": "path", "required": true }, { "description": "Finish step request", "name": "request", "in": "body", "schema": { "$ref": "#/definitions/httpapi.FinishReleaseOrderStepRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.ReleaseOrderStepActionResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } }, "/release-orders/{id}/steps/{step_code}/start": { "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "release-orders" ], "summary": "Start release order step", "parameters": [ { "type": "string", "description": "Release order ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "Step code", "name": "step_code", "in": "path", "required": true }, { "description": "Start step request", "name": "request", "in": "body", "schema": { "$ref": "#/definitions/httpapi.StartReleaseOrderStepRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/httpapi.ReleaseOrderStepActionResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httpapi.ErrorResponse" } } } } } }, "definitions": { "httpapi.ApplicationDataResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/httpapi.ApplicationResponse" } } }, "httpapi.ApplicationListResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/httpapi.ApplicationResponse" } }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "total": { "type": "integer" } } }, "httpapi.ApplicationResponse": { "type": "object", "properties": { "artifact_type": { "type": "string" }, "created_at": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" }, "key": { "type": "string" }, "language": { "type": "string" }, "name": { "type": "string" }, "owner": { "type": "string" }, "owner_user_id": { "type": "string" }, "repo_url": { "type": "string" }, "status": { "type": "string" }, "updated_at": { "type": "string" } } }, "httpapi.CreateApplicationRequest": { "type": "object", "properties": { "artifact_type": { "type": "string" }, "description": { "type": "string" }, "key": { "type": "string" }, "language": { "type": "string" }, "name": { "type": "string" }, "owner": { "type": "string" }, "owner_user_id": { "type": "string" }, "repo_url": { "type": "string" }, "status": { "type": "string" } } }, "httpapi.CreateBindingRequest": { "type": "object", "properties": { "binding_type": { "type": "string" }, "external_ref": { "type": "string" }, "name": { "type": "string" }, "pipeline_id": { "type": "string" }, "provider": { "type": "string" }, "status": { "type": "string" }, "trigger_mode": { "type": "string" } } }, "httpapi.CreatePlatformParamDictRequest": { "type": "object", "properties": { "builtin": { "type": "boolean" }, "description": { "type": "string" }, "name": { "type": "string" }, "param_key": { "type": "string" }, "param_type": { "type": "string" }, "required": { "type": "boolean" }, "status": { "type": "integer" } } }, "httpapi.CreateReleaseOrderParamRequest": { "type": "object", "properties": { "executor_param_name": { "type": "string" }, "param_key": { "type": "string" }, "param_value": { "type": "string" }, "value_source": { "type": "string" } } }, "httpapi.CreateReleaseOrderRequest": { "type": "object", "properties": { "application_id": { "type": "string" }, "binding_id": { "type": "string" }, "env_code": { "type": "string" }, "git_ref": { "type": "string" }, "image_tag": { "type": "string" }, "params": { "type": "array", "items": { "$ref": "#/definitions/httpapi.CreateReleaseOrderParamRequest" } }, "remark": { "type": "string" }, "son_service": { "type": "string" }, "steps": { "type": "array", "items": { "$ref": "#/definitions/httpapi.CreateReleaseOrderStepRequest" } }, "trigger_type": { "type": "string" }, "triggered_by": { "type": "string" } } }, "httpapi.CreateReleaseOrderStepRequest": { "type": "object", "properties": { "sort_no": { "type": "integer" }, "step_code": { "type": "string" }, "step_name": { "type": "string" } } }, "httpapi.ErrorResponse": { "type": "object", "properties": { "error": { "type": "string" } } }, "httpapi.FinishReleaseOrderStepRequest": { "type": "object", "properties": { "message": { "type": "string" }, "status": { "type": "string" } } }, "httpapi.PipelineBindingDataResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/httpapi.PipelineBindingResponse" } } }, "httpapi.PipelineBindingListResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/httpapi.PipelineBindingResponse" } }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "total": { "type": "integer" } } }, "httpapi.PipelineBindingResponse": { "type": "object", "properties": { "application_id": { "type": "string" }, "application_name": { "type": "string" }, "binding_type": { "type": "string" }, "created_at": { "type": "string" }, "external_ref": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "pipeline_id": { "type": "string" }, "provider": { "type": "string" }, "status": { "type": "string" }, "trigger_mode": { "type": "string" }, "updated_at": { "type": "string" } } }, "httpapi.PipelineDataResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/httpapi.PipelineResponse" } } }, "httpapi.PipelineListResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/httpapi.PipelineResponse" } }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "total": { "type": "integer" } } }, "httpapi.PipelineParamDefDataResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/httpapi.PipelineParamDefResponse" } } }, "httpapi.PipelineParamDefListResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/httpapi.PipelineParamDefResponse" } }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "total": { "type": "integer" } } }, "httpapi.PipelineParamDefResponse": { "type": "object", "properties": { "can_edit": { "type": "boolean" }, "can_view": { "type": "boolean" }, "created_at": { "type": "string" }, "default_value": { "type": "string" }, "description": { "type": "string" }, "editable": { "type": "boolean" }, "executor_param_name": { "type": "string" }, "executor_type": { "type": "string" }, "id": { "type": "string" }, "param_key": { "type": "string" }, "param_type": { "type": "string" }, "pipeline_id": { "type": "string" }, "raw_meta": { "type": "string" }, "required": { "type": "boolean" }, "single_select": { "type": "boolean" }, "sort_no": { "type": "integer" }, "source_from": { "type": "string" }, "updated_at": { "type": "string" }, "visible": { "type": "boolean" } } }, "httpapi.PipelineRawScriptDataResponse": { "type": "object", "properties": { "data": { "type": "object", "properties": { "definition_class": { "type": "string" }, "from_scm": { "type": "boolean" }, "pipeline": { "$ref": "#/definitions/httpapi.PipelineResponse" }, "script": { "type": "string" }, "script_path": { "type": "string" } } } } }, "httpapi.PipelineResponse": { "type": "object", "properties": { "created_at": { "type": "string" }, "credential_ref": { "type": "string" }, "default_branch": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" }, "job_full_name": { "type": "string" }, "job_name": { "type": "string" }, "job_url": { "type": "string" }, "last_synced_at": { "type": "string" }, "last_verified_at": { "type": "string" }, "provider": { "type": "string" }, "status": { "type": "string" }, "updated_at": { "type": "string" } } }, "httpapi.PlatformParamDictDataResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/httpapi.PlatformParamDictResponse" } } }, "httpapi.PlatformParamDictListResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/httpapi.PlatformParamDictResponse" } }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "total": { "type": "integer" } } }, "httpapi.PlatformParamDictResponse": { "type": "object", "properties": { "builtin": { "type": "boolean" }, "created_at": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "param_key": { "type": "string" }, "param_type": { "type": "string" }, "required": { "type": "boolean" }, "status": { "type": "integer" }, "updated_at": { "type": "string" } } }, "httpapi.ReleaseOrderDataResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/httpapi.ReleaseOrderResponse" } } }, "httpapi.ReleaseOrderListResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/httpapi.ReleaseOrderResponse" } }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "total": { "type": "integer" } } }, "httpapi.ReleaseOrderParamListResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/httpapi.ReleaseOrderParamResponse" } } } }, "httpapi.ReleaseOrderParamResponse": { "type": "object", "properties": { "created_at": { "type": "string" }, "executor_param_name": { "type": "string" }, "id": { "type": "string" }, "param_key": { "type": "string" }, "param_value": { "type": "string" }, "release_order_id": { "type": "string" }, "value_source": { "type": "string" } } }, "httpapi.ReleaseOrderResponse": { "type": "object", "properties": { "application_id": { "type": "string" }, "application_name": { "type": "string" }, "binding_id": { "type": "string" }, "created_at": { "type": "string" }, "env_code": { "type": "string" }, "finished_at": { "type": "string" }, "git_ref": { "type": "string" }, "id": { "type": "string" }, "image_tag": { "type": "string" }, "order_no": { "type": "string" }, "pipeline_id": { "type": "string" }, "remark": { "type": "string" }, "son_service": { "type": "string" }, "started_at": { "type": "string" }, "status": { "type": "string" }, "trigger_type": { "type": "string" }, "triggered_by": { "type": "string" }, "updated_at": { "type": "string" } } }, "httpapi.ReleaseOrderStepActionResponse": { "type": "object", "properties": { "data": { "type": "object", "properties": { "order": { "$ref": "#/definitions/httpapi.ReleaseOrderResponse" }, "step": { "$ref": "#/definitions/httpapi.ReleaseOrderStepResponse" } } } } }, "httpapi.ReleaseOrderStepListResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/httpapi.ReleaseOrderStepResponse" } } } }, "httpapi.ReleaseOrderStepResponse": { "type": "object", "properties": { "created_at": { "type": "string" }, "finished_at": { "type": "string" }, "id": { "type": "string" }, "message": { "type": "string" }, "release_order_id": { "type": "string" }, "sort_no": { "type": "integer" }, "started_at": { "type": "string" }, "status": { "type": "string" }, "step_code": { "type": "string" }, "step_name": { "type": "string" } } }, "httpapi.StartReleaseOrderStepRequest": { "type": "object", "properties": { "message": { "type": "string" } } }, "httpapi.SyncPipelineParamDefsResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/usecase.SyncPipelineParamDefsOutput" } } }, "httpapi.SyncPipelinesResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/usecase.SyncPipelinesOutput" } } }, "httpapi.UpdateApplicationRequest": { "type": "object", "properties": { "artifact_type": { "type": "string" }, "description": { "type": "string" }, "key": { "type": "string" }, "language": { "type": "string" }, "name": { "type": "string" }, "owner": { "type": "string" }, "owner_user_id": { "type": "string" }, "repo_url": { "type": "string" }, "status": { "type": "string" } } }, "httpapi.UpdateBindingRequest": { "type": "object", "properties": { "external_ref": { "type": "string" }, "name": { "type": "string" }, "pipeline_id": { "type": "string" }, "provider": { "type": "string" }, "status": { "type": "string" }, "trigger_mode": { "type": "string" } } }, "httpapi.UpdatePipelineParamDefRequest": { "type": "object", "properties": { "param_key": { "type": "string" } } }, "httpapi.UpdatePlatformParamDictRequest": { "type": "object", "properties": { "builtin": { "type": "boolean" }, "description": { "type": "string" }, "name": { "type": "string" }, "param_key": { "type": "string" }, "param_type": { "type": "string" }, "required": { "type": "boolean" }, "status": { "type": "integer" } } }, "httpapi.VerifyPipelineResponse": { "type": "object", "properties": { "data": { "type": "object", "properties": { "job_name": { "type": "string" }, "job_url": { "type": "string" }, "pipeline": { "$ref": "#/definitions/httpapi.PipelineResponse" }, "verified": { "type": "boolean" } } } } }, "usecase.SyncPipelineParamDefsOutput": { "type": "object", "properties": { "created": { "type": "integer" }, "skipped": { "type": "integer" }, "total": { "type": "integer" }, "updated": { "type": "integer" } } }, "usecase.SyncPipelinesOutput": { "type": "object", "properties": { "created": { "type": "integer" }, "skipped": { "type": "integer" }, "total": { "type": "integer" }, "updated": { "type": "integer" } } } } }