阶段新增、删除、查询步骤接口修改
This commit is contained in:
		
							parent
							
								
									bcb4e78829
								
							
						
					
					
						commit
						cb6c4b1e3f
					
				
							
								
								
									
										205
									
								
								api_document.md
								
								
								
								
							
							
						
						
									
										205
									
								
								api_document.md
								
								
								
								
							| 
						 | 
				
			
			@ -3966,13 +3966,12 @@ http://localhost:3000/api/ci/pipelines/list.json | jq
 | 
			
		|||
 | 
			
		||||
*返回参数说明:*
 | 
			
		||||
 | 
			
		||||
| 参数名        | 类型   | 说明                                           |
 | 
			
		||||
| ------------- | ------ | ---------------------------------------------- |
 | 
			
		||||
| id            | int    | 流水线id                                       |
 | 
			
		||||
| pipeline_name | string | 流水线名称                                     |
 | 
			
		||||
| file_name     | string | 流水线文件名                                   |
 | 
			
		||||
| created_at    | string | 创建时间                                       |
 | 
			
		||||
| stages        | arr    | 流水线包含的阶段数组(字段详情看阶段查询接口) |
 | 
			
		||||
| 参数名        | 类型   | 说明         |
 | 
			
		||||
| ------------- | ------ | ------------ |
 | 
			
		||||
| id            | int    | 流水线id     |
 | 
			
		||||
| pipeline_name | string | 流水线名称   |
 | 
			
		||||
| file_name     | string | 流水线文件名 |
 | 
			
		||||
| created_at    | string | 创建时间     |
 | 
			
		||||
 | 
			
		||||
返回值
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -3984,27 +3983,7 @@ http://localhost:3000/api/ci/pipelines/list.json | jq
 | 
			
		|||
            "pipeline_name": "2020-01-08 流水线",
 | 
			
		||||
            "file_name": ".trustie.pipeline.yaml",
 | 
			
		||||
            "created_at": "2021-01-08 04:16:24",
 | 
			
		||||
            "updated_at": "2021-01-08 04:16:24",
 | 
			
		||||
            "stages": [
 | 
			
		||||
                {
 | 
			
		||||
                    "id": 1,
 | 
			
		||||
                    "stage_name": "初始化",
 | 
			
		||||
                    "stage_type": "init",
 | 
			
		||||
                    "pipeline_id": 1,
 | 
			
		||||
                    "show_index": 0,
 | 
			
		||||
                    "created_at": "2021-01-08 04:16:24",
 | 
			
		||||
                    "updated_at": "2021-01-08 04:16:24"
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "id": 2,
 | 
			
		||||
                    "stage_name": "编译构建",
 | 
			
		||||
                    "stage_type": "build",
 | 
			
		||||
                    "pipeline_id": 1,
 | 
			
		||||
                    "show_index": 1,
 | 
			
		||||
                    "created_at": "2021-01-08 04:16:24",
 | 
			
		||||
                    "updated_at": "2021-01-11 04:16:24"
 | 
			
		||||
                }
 | 
			
		||||
            ]
 | 
			
		||||
            "updated_at": "2021-01-08 04:16:24"
 | 
			
		||||
        }
 | 
			
		||||
    ]
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -4014,8 +3993,6 @@ http://localhost:3000/api/ci/pipelines/list.json | jq
 | 
			
		|||
 | 
			
		||||
#### 流水线新增
 | 
			
		||||
 | 
			
		||||
点击"新增流水线"按钮时调用。
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
POST  /api/ci/pipelines
 | 
			
		||||
```
 | 
			
		||||
| 
						 | 
				
			
			@ -4035,22 +4012,24 @@ curl --location --request POST 'http://localhost:3000/api/ci/pipelines' \
 | 
			
		|||
 | 
			
		||||
| 参数名        | 必选 | 类型   | 说明                                           |
 | 
			
		||||
| ------------- | ---- | ------ | ---------------------------------------------- |
 | 
			
		||||
| pipeline_name | 是   | string | 流水线名称(默认初始值:流水线 yyyy-mm-dd)    |
 | 
			
		||||
| pipeline_name | 是   | string | 流水线名称                                     |
 | 
			
		||||
| file_name     | 是   | string | 文件名称(默认初始值:.trustie.pipeline.yaml) |
 | 
			
		||||
 | 
			
		||||
*返回参数说明:*
 | 
			
		||||
 | 
			
		||||
| 参数名  | 类型   | 说明         |
 | 
			
		||||
| ------- | ------ | ------------ |
 | 
			
		||||
| status  | int    | 状态码 0成功 |
 | 
			
		||||
| message | string | 返回消息     |
 | 
			
		||||
| 参数名  | 类型   | 说明           |
 | 
			
		||||
| ------- | ------ | -------------- |
 | 
			
		||||
| status  | int    | 状态码 0成功   |
 | 
			
		||||
| message | string | 返回消息       |
 | 
			
		||||
| id      | int    | 新增流水线的id |
 | 
			
		||||
 | 
			
		||||
返回值
 | 
			
		||||
 | 
			
		||||
```json
 | 
			
		||||
{
 | 
			
		||||
    "status": 0,
 | 
			
		||||
    "message": "success"
 | 
			
		||||
    "message": "success",
 | 
			
		||||
    "id": 18
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -4136,56 +4115,64 @@ https://localhost:3000/api/ci/pipelines/1  | jq
 | 
			
		|||
 | 
			
		||||
------
 | 
			
		||||
 | 
			
		||||
#### 流水线阶段排序
 | 
			
		||||
 | 
			
		||||
当新增阶段或者删除阶段时重新给受影响的stage设置show_index。
 | 
			
		||||
#### 流水线的阶段查询
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
PUT  /api/ci/pipelines/{id}/sort_stage
 | 
			
		||||
GET  /api/ci/pipelines/{id}/stages
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
*示例*
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
curl --location --request PUT 'http://localhost:3000/api/ci/pipelines/1/sort_stage.json' \
 | 
			
		||||
--header 'Content-Type: application/json' \
 | 
			
		||||
--data-raw ' {"stage_index":[
 | 
			
		||||
     {"id": 1,"show_index": 0},
 | 
			
		||||
     {"id": 2,"show_index": 1},
 | 
			
		||||
     {"id": 3,"show_index": 2},
 | 
			
		||||
     {"id": 4,"show_index": 3},
 | 
			
		||||
     {"id": 7,"show_index": 4}
 | 
			
		||||
 ]
 | 
			
		||||
 }'
 | 
			
		||||
curl --location --request GET 'http://localhost:3000/api/ci/pipelines/19/stages.json'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
*请求参数说明:*
 | 
			
		||||
 | 
			
		||||
| 参数名      | 必选 | 类型 | 说明       |
 | 
			
		||||
| ----------- | ---- | ---- | ---------- |
 | 
			
		||||
| stage_index | 是   | arr  | 参数数组   |
 | 
			
		||||
| id          | 是   | int  | 阶段id     |
 | 
			
		||||
| show_index  | 是   | int  | 阶段的序号 |
 | 
			
		||||
| 参数名 | 必选 | 类型 | 说明     |
 | 
			
		||||
| ------ | ---- | ---- | -------- |
 | 
			
		||||
| id     | 是   | int  | 流水线id |
 | 
			
		||||
 | 
			
		||||
*返回参数说明:*
 | 
			
		||||
 | 
			
		||||
| 参数名  | 类型   | 说明         |
 | 
			
		||||
| ------- | ------ | ------------ |
 | 
			
		||||
| status  | int    | 状态码 0成功 |
 | 
			
		||||
| message | string | 返回消息     |
 | 
			
		||||
| 参数名      | 类型   | 说明     |
 | 
			
		||||
| ----------- | ------ | -------- |
 | 
			
		||||
| stages      | arr    | 阶段数组 |
 | 
			
		||||
| stage_name  | string | 阶段名称 |
 | 
			
		||||
| stage_type  | string | 阶段类型 |
 | 
			
		||||
| pipeline_id | int    | 流水线id |
 | 
			
		||||
| show_index  | int    | 排序     |
 | 
			
		||||
 | 
			
		||||
返回值
 | 
			
		||||
 | 
			
		||||
```json
 | 
			
		||||
{
 | 
			
		||||
    "status": 0,
 | 
			
		||||
    "message": "success"
 | 
			
		||||
    "stages": [
 | 
			
		||||
        {
 | 
			
		||||
            "id": 37,
 | 
			
		||||
            "stage_name": "初始化",
 | 
			
		||||
            "stage_type": "init",
 | 
			
		||||
            "pipeline_id": 19,
 | 
			
		||||
            "show_index": 1,
 | 
			
		||||
            "created_at": "2021-01-12T15:18:00.000+08:00",
 | 
			
		||||
            "updated_at": "2021-01-12T15:18:00.000+08:00"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "id": 38,
 | 
			
		||||
            "stage_name": "编译构建",
 | 
			
		||||
            "stage_type": "build",
 | 
			
		||||
            "pipeline_id": 19,
 | 
			
		||||
            "show_index": 2,
 | 
			
		||||
            "created_at": "2021-01-12T15:18:00.000+08:00",
 | 
			
		||||
            "updated_at": "2021-01-12T15:18:00.000+08:00"
 | 
			
		||||
        }
 | 
			
		||||
    ]
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
------
 | 
			
		||||
 | 
			
		||||
#### 确认阶段流水线内容查询
 | 
			
		||||
#### 确认阶段流水线完整内容查询
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
GET  /api/ci/pipelines/{id}/content
 | 
			
		||||
| 
						 | 
				
			
			@ -4223,30 +4210,21 @@ POST  /api/ci/pipelines/{id}/create_stage
 | 
			
		|||
*示例*
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
curl --location --request POST 'http://localhost:3000/api/ci/pipelines/14/create_stage.json' \
 | 
			
		||||
curl --location --request POST 'http://localhost:3000/api/ci/pipelines/19/create_stage.json' \
 | 
			
		||||
--header 'Content-Type: application/json' \
 | 
			
		||||
--data-raw ' {"stages":[{
 | 
			
		||||
            "stage_name": "新阶段1",
 | 
			
		||||
            "stage_type": "customize",
 | 
			
		||||
            "show_index": 5
 | 
			
		||||
},
 | 
			
		||||
{
 | 
			
		||||
--data-raw '{
 | 
			
		||||
            "stage_name": "新阶段2",
 | 
			
		||||
            "stage_type": "customize",
 | 
			
		||||
            "show_index": 5
 | 
			
		||||
}
 | 
			
		||||
]
 | 
			
		||||
 }'
 | 
			
		||||
            "show_index": 2
 | 
			
		||||
}'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
*请求参数说明:*
 | 
			
		||||
 | 
			
		||||
| 参数名     | 必选 | 类型   | 说明                             |
 | 
			
		||||
| ---------- | ---- | ------ | -------------------------------- |
 | 
			
		||||
| stages     | 是   | arr    | 新增的阶段数组                   |
 | 
			
		||||
| id         | 是   | int    | 流水线id                         |
 | 
			
		||||
| stage_name | 是   | string | 阶段名称(默认为 阶段名-模板名) |
 | 
			
		||||
| show_index | 是   | int    | 阶段排序                         |
 | 
			
		||||
| 参数名     | 必选 | 类型   | 说明     |
 | 
			
		||||
| ---------- | ---- | ------ | -------- |
 | 
			
		||||
| id         | 是   | int    | 流水线id |
 | 
			
		||||
| show_index | 是   | int    | 阶段排序 |
 | 
			
		||||
| stage_name | 是   | string | 阶段名称 |
 | 
			
		||||
 | 
			
		||||
*返回参数说明:*
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -4269,7 +4247,7 @@ curl --location --request POST 'http://localhost:3000/api/ci/pipelines/14/create
 | 
			
		|||
#### 流水线阶段更新
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
PUT  /api/ci/pipelines/{id}/update_stage
 | 
			
		||||
PUT  /api/ci/pipelines/{id}/{stage_id}/update_stage
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
*示例*
 | 
			
		||||
| 
						 | 
				
			
			@ -4278,9 +4256,7 @@ PUT  /api/ci/pipelines/{id}/update_stage
 | 
			
		|||
curl --location --request PUT 'http://localhost:3000/api/ci/pipelines/1/5/update_stage.json' \
 | 
			
		||||
--header 'Content-Type: application/json' \
 | 
			
		||||
--data-raw ' {
 | 
			
		||||
            "stage_name": "新阶段-更新",
 | 
			
		||||
            "stage_type": "customize",
 | 
			
		||||
            "show_index": 10
 | 
			
		||||
            "stage_name": "新阶段-更新"
 | 
			
		||||
}'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -4290,7 +4266,6 @@ curl --location --request PUT 'http://localhost:3000/api/ci/pipelines/1/5/update
 | 
			
		|||
| ---------- | ---- | ------ | -------------------------------- |
 | 
			
		||||
| id         | 是   | int    | 流水线id                         |
 | 
			
		||||
| stage_name | 是   | string | 阶段名称(默认为 阶段名-模板名) |
 | 
			
		||||
| show_index | 是   | int    | 阶段排序                         |
 | 
			
		||||
 | 
			
		||||
*返回参数说明:*
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -4313,22 +4288,22 @@ curl --location --request PUT 'http://localhost:3000/api/ci/pipelines/1/5/update
 | 
			
		|||
#### 流水线阶段删除
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
DELETE  /api/ci/pipelines/{id}/{stage_id}/delete_stage
 | 
			
		||||
DELETE  /api/ci/pipelines/{id}/{stage_id}/delete_stage?show_index={index}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
*示例*
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
curl -X DELETE \
 | 
			
		||||
https://localhost:3000/api/ci/pipelines/1/6/delete_stage.json  | jq
 | 
			
		||||
curl --location --request DELETE 'http://localhost:3000/api/ci/pipelines/19/42/delete_stage.json?show_index=2' \
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
*请求参数说明:*
 | 
			
		||||
 | 
			
		||||
| 参数名   | 必选 | 类型 | 说明     |
 | 
			
		||||
| -------- | ---- | ---- | -------- |
 | 
			
		||||
| id       | 是   | int  | 流水线id |
 | 
			
		||||
| stage_id | 是   | int  | 阶段id   |
 | 
			
		||||
| 参数名     | 必选 | 类型 | 说明                   |
 | 
			
		||||
| ---------- | ---- | ---- | ---------------------- |
 | 
			
		||||
| id         | 是   | int  | 流水线id               |
 | 
			
		||||
| stage_id   | 是   | int  | 阶段id                 |
 | 
			
		||||
| show_index | 是   | int  | 被删除阶段的show_index |
 | 
			
		||||
 | 
			
		||||
*返回参数说明:*
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -4370,14 +4345,14 @@ http://localhost:3000/api/ci/pipelines/1/2/steps.json | jq
 | 
			
		|||
 | 
			
		||||
*返回参数说明:*
 | 
			
		||||
 | 
			
		||||
| 参数名      | 类型   | 说明       |
 | 
			
		||||
| ----------- | ------ | ---------- |
 | 
			
		||||
| id          | int    | 步骤id     |
 | 
			
		||||
| step_name   | string | 步骤名称   |
 | 
			
		||||
| stage_id    | int    | 所属阶段id |
 | 
			
		||||
| template_id | int    | 模板id     |
 | 
			
		||||
| show_index  | int    | 显示顺序   |
 | 
			
		||||
| content     | String | 步骤内容   |
 | 
			
		||||
| 参数名     | 类型   | 说明               |
 | 
			
		||||
| ---------- | ------ | ------------------ |
 | 
			
		||||
| id         | int    | 步骤id             |
 | 
			
		||||
| step_name  | string | 步骤名称           |
 | 
			
		||||
| stage_id   | int    | 所属阶段id         |
 | 
			
		||||
| show_index | int    | 显示顺序           |
 | 
			
		||||
| content    | String | 步骤内容           |
 | 
			
		||||
| template   | Object | 步骤对应的模板对象 |
 | 
			
		||||
 | 
			
		||||
返回值
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -4388,21 +4363,19 @@ http://localhost:3000/api/ci/pipelines/1/2/steps.json | jq
 | 
			
		|||
            "id": 1,
 | 
			
		||||
            "step_name": "编译构建-maven",
 | 
			
		||||
            "stage_id": 2,
 | 
			
		||||
            "template_id": null,
 | 
			
		||||
            "show_index": 0,
 | 
			
		||||
            "content": "xxxxxxxxxxx",
 | 
			
		||||
            "content": "- name: Maven编译\r\n  image: arm64v8/maven\r\n",
 | 
			
		||||
            "created_at": "2021-01-11T09:57:17.000+08:00",
 | 
			
		||||
            "updated_at": "2021-01-11T09:57:17.000+08:00"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "id": 2,
 | 
			
		||||
            "step_name": "编译构建-maven-更新",
 | 
			
		||||
            "stage_id": 2,
 | 
			
		||||
            "template_id": 2,
 | 
			
		||||
            "show_index": 2,
 | 
			
		||||
            "content": "xxxx====xxxxxxx",
 | 
			
		||||
            "created_at": "2021-01-11T10:12:58.000+08:00",
 | 
			
		||||
            "updated_at": "2021-01-11T10:40:54.000+08:00"
 | 
			
		||||
            "updated_at": "2021-01-11T09:57:17.000+08:00",
 | 
			
		||||
            "template": {
 | 
			
		||||
                "id": 3,
 | 
			
		||||
                "template_name": "maven",
 | 
			
		||||
                "stage_type": "build",
 | 
			
		||||
                "category": "java",
 | 
			
		||||
                "content": "- name: maven\r\n  image: maven:3-jdk-10\r\n",
 | 
			
		||||
                "created_at": "2021-01-11T17:28:34.000+08:00",
 | 
			
		||||
                "updated_at": "2021-01-11T17:28:36.000+08:00"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ]
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -4578,9 +4551,9 @@ http://localhost:3000/api/ci/templates/templates_by_stage.json?stage_type=build
 | 
			
		|||
 | 
			
		||||
*请求参数说明:*
 | 
			
		||||
 | 
			
		||||
| 参数名     | 必选 | 类型   | 说明                                          |
 | 
			
		||||
| ---------- | ---- | ------ | --------------------------------------------- |
 | 
			
		||||
| stage_type | 是   | string | 阶段类型:init/build/deploy/customize/confirm |
 | 
			
		||||
| 参数名     | 必选 | 类型   | 说明                                  |
 | 
			
		||||
| ---------- | ---- | ------ | ------------------------------------- |
 | 
			
		||||
| stage_type | 是   | string | 阶段类型:init/build/deploy/customize |
 | 
			
		||||
 | 
			
		||||
*返回参数说明:*
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,7 +12,7 @@ class Ci::PipelinesController < ApplicationController
 | 
			
		|||
 | 
			
		||||
      # 默认创建四个初始阶段
 | 
			
		||||
      init_stages = Ci::PipelineStage::INIT_STAGES
 | 
			
		||||
      index = 0
 | 
			
		||||
      index = 1
 | 
			
		||||
      init_stages.each do |type, name|
 | 
			
		||||
        pipeline.pipeline_stages.build(
 | 
			
		||||
          stage_name: name,
 | 
			
		||||
| 
						 | 
				
			
			@ -21,7 +21,7 @@ class Ci::PipelinesController < ApplicationController
 | 
			
		|||
        ).save!
 | 
			
		||||
        index += 1
 | 
			
		||||
      end
 | 
			
		||||
      render_ok
 | 
			
		||||
      render_ok({id: pipeline.id})
 | 
			
		||||
    end
 | 
			
		||||
  rescue Exception => ex
 | 
			
		||||
    render_error(ex.message)
 | 
			
		||||
| 
						 | 
				
			
			@ -74,15 +74,12 @@ class Ci::PipelinesController < ApplicationController
 | 
			
		|||
 | 
			
		||||
  def create_stage
 | 
			
		||||
    ActiveRecord::Base.transaction do
 | 
			
		||||
      stages = params[:stages]
 | 
			
		||||
      unless stages.empty?
 | 
			
		||||
        stages.each do |stage|
 | 
			
		||||
          pipeline_stage = Ci::PipelineStage.new(stage_name: stage[:stage_name],
 | 
			
		||||
                                                 stage_type: stage[:stage_type].blank? ? 'customize' : stage[:stage_type],
 | 
			
		||||
                                                 pipeline_id: params[:id], show_index: stage[:show_index])
 | 
			
		||||
          pipeline_stage.save!
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
      # 修改stage排序
 | 
			
		||||
      update_stage_index(params[:id], params[:show_index], 1)
 | 
			
		||||
      pipeline_stage = Ci::PipelineStage.new(stage_name: params[:stage_name],
 | 
			
		||||
                                            stage_type: params[:stage_type].blank? ? 'customize' : params[:stage_type],
 | 
			
		||||
                                            pipeline_id: params[:id], show_index: params[:show_index])
 | 
			
		||||
      pipeline_stage.save!
 | 
			
		||||
      render_ok
 | 
			
		||||
    end
 | 
			
		||||
  rescue Exception => ex
 | 
			
		||||
| 
						 | 
				
			
			@ -92,7 +89,7 @@ class Ci::PipelinesController < ApplicationController
 | 
			
		|||
  def update_stage
 | 
			
		||||
    pipeline_stage = Ci::PipelineStage.find(params[:stage_id])
 | 
			
		||||
    if pipeline_stage
 | 
			
		||||
      pipeline_stage.update!(stage_name: params[:stage_name], show_index: params[:show_index])
 | 
			
		||||
      pipeline_stage.update!(stage_name: params[:stage_name])
 | 
			
		||||
    end
 | 
			
		||||
    render_ok
 | 
			
		||||
  rescue Exception => ex
 | 
			
		||||
| 
						 | 
				
			
			@ -100,28 +97,25 @@ class Ci::PipelinesController < ApplicationController
 | 
			
		|||
  end
 | 
			
		||||
 | 
			
		||||
  def delete_stage
 | 
			
		||||
    pipeline_stage = Ci::PipelineStage.find(params[:stage_id])
 | 
			
		||||
    if pipeline_stage
 | 
			
		||||
      pipeline_stage.destroy!
 | 
			
		||||
    ActiveRecord::Base.transaction do
 | 
			
		||||
      update_stage_index(params[:id], params[:show_index].to_i, -1)
 | 
			
		||||
      pipeline_stage = Ci::PipelineStage.find(params[:stage_id])
 | 
			
		||||
      if pipeline_stage
 | 
			
		||||
        pipeline_stage.destroy!
 | 
			
		||||
      end
 | 
			
		||||
      render_ok
 | 
			
		||||
    end
 | 
			
		||||
    render_ok
 | 
			
		||||
  rescue Exception => ex
 | 
			
		||||
    render_error(ex.message)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def sort_stage
 | 
			
		||||
    stages = params[:stage_index]
 | 
			
		||||
    if stages && !stages.empty?
 | 
			
		||||
      stages.each do |stage|
 | 
			
		||||
        pipeline_stage = Ci::PipelineStage.find(stage[:id])
 | 
			
		||||
        if pipeline_stage
 | 
			
		||||
          pipeline_stage.update!(show_index: stage[:show_index])
 | 
			
		||||
        end
 | 
			
		||||
  def update_stage_index(pipeline_id, show_index, diff)
 | 
			
		||||
    stages = Ci::Pipeline.find(pipeline_id).pipeline_stages
 | 
			
		||||
    stages.each do |stage|
 | 
			
		||||
      if stage.show_index >= show_index
 | 
			
		||||
        stage.update!(show_index: stage.show_index + diff)
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
    render_ok
 | 
			
		||||
  rescue Exception => ex
 | 
			
		||||
    render_error(ex.message)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # ========步骤相关接口========= #
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,5 +18,5 @@ class Ci::PipelineStageStep < Ci::LocalBase
 | 
			
		|||
  validates :stage_id, presence: {message: "阶段id不能为空"}
 | 
			
		||||
 | 
			
		||||
  belongs_to :pipeline_stage, foreign_key: :stage_id, :class_name => 'Ci::PipelineStage'
 | 
			
		||||
  has_one :template, :class_name => 'Ci::Template', foreign_key: :template_id
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,9 +1,11 @@
 | 
			
		|||
json.id pipeline_stage_step.id
 | 
			
		||||
json.step_name pipeline_stage_step.step_name
 | 
			
		||||
json.stage_id pipeline_stage_step.stage_id
 | 
			
		||||
json.template_id pipeline_stage_step.template_id
 | 
			
		||||
json.show_index pipeline_stage_step.show_index
 | 
			
		||||
json.content pipeline_stage_step.content
 | 
			
		||||
json.created_at pipeline_stage_step.created_at
 | 
			
		||||
json.updated_at pipeline_stage_step.updated_at
 | 
			
		||||
json.template do
 | 
			
		||||
  json.partial! "/ci/templates/list", template: Ci::Template.find(pipeline_stage_step.template_id)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -46,7 +46,6 @@ Rails.application.routes.draw do
 | 
			
		|||
          get :content
 | 
			
		||||
          get :stages
 | 
			
		||||
          post :create_stage
 | 
			
		||||
          put :sort_stage
 | 
			
		||||
          delete :delete_stage, :path => ":stage_id/delete_stage", to: 'pipelines#delete_stage'
 | 
			
		||||
          put :update_stage, :path => ":stage_id/update_stage", to: 'pipelines#update_stage'
 | 
			
		||||
          get :stage_steps, :path => ":stage_id/steps", to: 'pipelines#steps'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue