流水线步骤新增、更新
This commit is contained in:
parent
da1a992670
commit
4ac7634031
|
@ -4383,72 +4383,16 @@ http://localhost:3000/api/ci/pipelines/1/2/steps.json | jq
|
||||||
|
|
||||||
------
|
------
|
||||||
|
|
||||||
#### 流水线阶段步骤新增
|
#### 流水线阶段步骤新增/更新
|
||||||
|
|
||||||
```
|
```
|
||||||
POST /api/ci/pipelines/{id}/{stage_id}/create_step
|
PUT /api/ci/pipelines/{id}/{stage_id}/stage_step
|
||||||
```
|
```
|
||||||
|
|
||||||
*示例*
|
*示例*
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl --location --request POST 'http://localhost:3000/api/ci/pipelines/14/20/create_step.json' \
|
curl --location --request PUT 'http://localhost:3000/api/ci/pipelines/1/2/stage_step.json' \
|
||||||
--header 'Content-Type: application/json' \
|
|
||||||
--data-raw ' {"steps":[{
|
|
||||||
"step_name": "编译构建-gradle",
|
|
||||||
"show_index": 1,
|
|
||||||
"content": "xxxxxxxxxxx",
|
|
||||||
"template_id":1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"step_name": "编译构建-maven",
|
|
||||||
"show_index": 1,
|
|
||||||
"content": "xxxxxxxxxxx",
|
|
||||||
"template_id":1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}'
|
|
||||||
```
|
|
||||||
|
|
||||||
*请求参数说明:*
|
|
||||||
|
|
||||||
| 参数名 | 必选 | 类型 | 说明 |
|
|
||||||
| ----------- | ---- | ------ | ------------------------- |
|
|
||||||
| steps | 是 | arr | 需要新增的步骤数组 |
|
|
||||||
| id | 是 | int | 流水线id |
|
|
||||||
| stage_id | 是 | int | 阶段id |
|
|
||||||
| step_name | 是 | string | 阶段名称(阶段名-模板名) |
|
|
||||||
| content | 是 | string | 步骤内容 |
|
|
||||||
| template_id | 是 | int | 模板id |
|
|
||||||
|
|
||||||
*返回参数说明:*
|
|
||||||
|
|
||||||
| 参数名 | 类型 | 说明 |
|
|
||||||
| ------- | ------ | ------------ |
|
|
||||||
| status | int | 状态码 0成功 |
|
|
||||||
| message | string | 返回消息 |
|
|
||||||
|
|
||||||
返回值
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"status": 0,
|
|
||||||
"message": "success"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
------
|
|
||||||
|
|
||||||
#### 流水线阶段步骤更新
|
|
||||||
|
|
||||||
```
|
|
||||||
PUT /api/ci/pipelines/{id}/{stage_id}/update_step
|
|
||||||
```
|
|
||||||
|
|
||||||
*示例*
|
|
||||||
|
|
||||||
```bash
|
|
||||||
curl --location --request PUT 'http://localhost:3000/api/ci/pipelines/1/2/update_step.json' \
|
|
||||||
--header 'Content-Type: application/json' \
|
--header 'Content-Type: application/json' \
|
||||||
--data-raw ' {"steps":[{
|
--data-raw ' {"steps":[{
|
||||||
"id":7,
|
"id":7,
|
||||||
|
@ -4471,10 +4415,10 @@ curl --location --request PUT 'http://localhost:3000/api/ci/pipelines/1/2/update
|
||||||
*请求参数说明:*
|
*请求参数说明:*
|
||||||
|
|
||||||
| 参数名 | 必选 | 类型 | 说明 |
|
| 参数名 | 必选 | 类型 | 说明 |
|
||||||
| ----------- | ---- | ------ | ------------------------- |
|
| ----------- | ---- | ------ | -------------------------------- |
|
||||||
| steps | 是 | arr | 需要更新step数组 |
|
| steps | 是 | arr | 需要更新step数组 |
|
||||||
| id | 是 | int | 流水线id |
|
| id | 是 | int | 流水线id |
|
||||||
| stage_id | 是 | int | 阶段id |
|
| step_id | 是 | int | 阶段id(存在则更新,不存在新增) |
|
||||||
| step_name | 是 | string | 阶段名称(阶段名-模板名) |
|
| step_name | 是 | string | 阶段名称(阶段名-模板名) |
|
||||||
| content | 是 | string | 步骤内容 |
|
| content | 是 | string | 步骤内容 |
|
||||||
| template_id | 是 | int | 模板id |
|
| template_id | 是 | int | 模板id |
|
||||||
|
|
|
@ -123,6 +123,28 @@ class Ci::PipelinesController < ApplicationController
|
||||||
@pipeline_stage_steps = Ci::PipelineStageStep.where('stage_id=?', params[:stage_id]).order('show_index asc')
|
@pipeline_stage_steps = Ci::PipelineStageStep.where('stage_id=?', params[:stage_id]).order('show_index asc')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def stage_step
|
||||||
|
ActiveRecord::Base.transaction do
|
||||||
|
steps = params[:steps]
|
||||||
|
unless steps.empty?
|
||||||
|
steps.each do |step|
|
||||||
|
if !step[:id]
|
||||||
|
step = Ci::PipelineStageStep.new(step_name: step[:step_name], stage_id: params[:stage_id],
|
||||||
|
template_id: step[:template_id], content: step[:content], show_index: step[:show_index])
|
||||||
|
step.save!
|
||||||
|
else
|
||||||
|
pipeline_stage_step = Ci::PipelineStageStep.find(step[:id])
|
||||||
|
pipeline_stage_step.update(step_name: step[:step_name], content: step[:content],
|
||||||
|
show_index: step[:show_index], template_id: step[:template_id])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
render_ok
|
||||||
|
end
|
||||||
|
rescue Exception => ex
|
||||||
|
render_error(ex.message)
|
||||||
|
end
|
||||||
|
|
||||||
def create_stage_step
|
def create_stage_step
|
||||||
ActiveRecord::Base.transaction do
|
ActiveRecord::Base.transaction do
|
||||||
steps = params[:steps]
|
steps = params[:steps]
|
||||||
|
|
|
@ -50,6 +50,7 @@ Rails.application.routes.draw do
|
||||||
put :update_stage, :path => ":stage_id/update_stage", to: 'pipelines#update_stage'
|
put :update_stage, :path => ":stage_id/update_stage", to: 'pipelines#update_stage'
|
||||||
get :stage_steps, :path => ":stage_id/steps", to: 'pipelines#steps'
|
get :stage_steps, :path => ":stage_id/steps", to: 'pipelines#steps'
|
||||||
post :create_stage_step, :path => ":stage_id/create_step", to: 'pipelines#create_stage_step'
|
post :create_stage_step, :path => ":stage_id/create_step", to: 'pipelines#create_stage_step'
|
||||||
|
post :stage_step, :path => ":stage_id/stage_step", to: 'pipelines#stage_step'
|
||||||
delete :delete_stage_step, :path => ":stage_id/:step_id/delete_step", to: 'pipelines#delete_stage_step'
|
delete :delete_stage_step, :path => ":stage_id/:step_id/delete_step", to: 'pipelines#delete_stage_step'
|
||||||
put :update_stage_step, :path => ":stage_id/update_step", to: 'pipelines#update_stage_step'
|
put :update_stage_step, :path => ":stage_id/update_step", to: 'pipelines#update_stage_step'
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue