Skip to content

Commit

Permalink
perf: 提供步骤详情与步骤执行结果查询的APIGW接口 TencentBlueKing#2596
Browse files Browse the repository at this point in the history
接口实现,文档调整
  • Loading branch information
jsonwan committed Nov 23, 2023
1 parent 6a59ed8 commit 778fceb
Show file tree
Hide file tree
Showing 32 changed files with 1,244 additions and 158 deletions.
189 changes: 95 additions & 94 deletions docs/apidoc/bk-api-gateway/v3/zh/get_step_instance_detail.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,50 +40,53 @@
"message": "",
"data": {
"id": 4,
"type": 1,
"name": "Step 1",
"script_step_info": {
"content": "IyEvYmluL2Jhc2gKCmFueW5vd3RpbWU9ImRhdGUgKyclWS0lbS0lZCAl",
"type": 1,
"script_info": {
"script_type": 1,
"script_id": null,
"script_version_id": null,
"script_content": "IyEvYmluL2Jhc2gKCmFueW5vd3RpbWU9ImRhdGUgKyclWS0lbS0lZCAl",
"script_language": 1,
"script_param": "1 2 3",
"timeout": 1000,
"account_id": 123,
"account_name": "root",
"execute_target": {
"script_timeout": 1000,
"account": {
"id": 123,
"name": "root"
},
"server": {
"variable": null,
"server": {
"host_list": [{
"bk_host_id": 1,
"ip": "192.168.1.1",
"ipv6": null
}],
"topo_node_list": [{
"node_type": "set",
"id": 123
}],
"dynamic_group_list": [{
"id": "07f99504-7bcb-11eb-980b-5254008ed702"
}]
}
"ip_list": [{
"bk_host_id": 1,
"bk_cloud_id": 0,
"ip": "192.168.1.1",
"ipv6": null
}],
"topo_node_list": [{
"node_type": "set",
"id": 123
}],
"dynamic_group_list": [{
"id": "07f99504-7bcb-11eb-980b-5254008ed702"
}]
},
"secure_param": 0,
"ignore_error": 0
"is_param_sensitive": 0,
"is_ignore_error": 0
},
"file_step_info": {
"file_info": {
"file_source_list": [
{
"file_type": 1,
"file_location": [
"file_list": [
"/tmp/1.txt",
"/tmp/2.txt"
],
"file_hash": "68b329da9893e34099c7d8ad5cb9c940",
"file_size": 10240,
"host": {
"server": {
"variable": null,
"server": {
"host_list": [{
"ip_list": [{
"bk_host_id": 1,
"bk_cloud_id": 0,
"ip": "192.168.1.1",
"ipv6": null
}],
Expand All @@ -96,41 +99,43 @@
}]
}
},
"account_id": 1,
"account_name": "root",
"file_source_id": 1,
"file_source_name": "测试用蓝鲸制品库"
"account": {
"id": 1,
"name": "root"
},
"file_source_id": 1
}
],
"file_destination": {
"path": "/tmp",
"account_id": 1,
"account_name": "root",
"target_server": {
"account": {
"id": 1,
"name": "root"
},
"server": {
"variable": null,
"server": {
"host_list": [{
"bk_host_id": 1,
"ip": "192.168.1.1",
"ipv6": null
}],
"topo_node_list": [{
"node_type": "set",
"id": 123
}],
"dynamic_group_list": [{
"id": "07f99504-7bcb-11eb-980b-5254008ed702"
}]
}
"ip_list": [{
"bk_host_id": 1,
"bk_cloud_id": 0,
"ip": "192.168.1.1",
"ipv6": null
}],
"topo_node_list": [{
"node_type": "set",
"id": 123
}],
"dynamic_group_list": [{
"id": "07f99504-7bcb-11eb-980b-5254008ed702"
}]
}
},
"timeout": 1000,
"upload_speed_limit": 10,
"download_speed_limit": 10,
"source_speed_limit": 10,
"destination_speed_limit": 10,
"transfer_mode": 2,
"ignore_error": 0
"is_ignore_error": 0
},
"approval_step_info": {
"approval_info": {
"approval_message": "Pass"
}
}
Expand All @@ -151,42 +156,42 @@
| 字段 | 类型 | 描述 |
|----------------------|-----------|-----------|
| id | long | 作业步骤ID |
| type | int | 步骤类型:1-脚本,2-文件,3-人工确认 |
| name | string | 步骤名称 |
| script_step_info | object | 脚本步骤信息 |
| file_step_info | object | 文件步骤信息 |
| approval_step_info | object | 审批步骤信息 |
| type | int | 步骤类型:1-脚本,2-文件,3-人工确认 |
| script_info | object | 脚本步骤信息 |
| file_info | object | 文件步骤信息 |
| approval_info | object | 审批步骤信息 |


##### script_step_info
##### script_info

| 字段 | 类型 | 描述 |
|--------------------|-----------|-----------|
| script_source | int | 脚本类型:1-本地脚本,2-引用业务脚本,3-引用公共脚本 |
| script_type | int | 脚本类型:1-本地脚本,2-引用业务脚本,3-引用公共脚本 |
| script_id | string | 脚本ID |
| script_version_id | long | 脚本版本ID |
| content | string | BASE64编码的脚本内容 |
| script_content | string | BASE64编码的脚本内容 |
| script_language | int | 脚本语言:1-shell,2-bat,3-perl,4-python,5-powershell,6-sql |
| script_param | string | 脚本参数 |
| timeout | int | 脚本超时时间,单位为秒 |
| account_id | long | 执行账号ID |
| account_name | string | 执行账号名称 |
| execute_target | object | 执行目标机器,详情见variable_server对象定义 |
| secure_param | int | 参数是否为敏感参数:0-不敏感,1-敏感 |
| ignore_error | int | 是否忽略错误:0-不忽略,1-忽略 |
| script_timeout | int | 脚本超时时间,单位为秒 |
| account | object | 执行账号,详情见account对象定义 |
| server | object | 执行目标机器,详情见server对象定义 |
| is_param_sensitive | int | 参数是否为敏感参数:0-不敏感,1-敏感 |
| is_ignore_error | int | 是否忽略错误:0-不忽略,1-忽略 |

##### variable_server
##### account

| 字段 | 类型 | 描述 |
|----------------------|------------|-----------|
| variable | string | 引用的全局变量名称 |
| server | object | 机器信息,详情见server对象定义 |
| 字段 | 类型 | 描述 |
|--------------------|-----------|-----------|
| id | long | 账号ID |
| name | string | 账号名称 |

##### server

| 字段 | 类型 | 描述 |
|----------------------|----------------------|-----------|
| host_list | list<host> | 主机列表,元素详情见host对象定义 |
| variable | string | 引用的全局变量名称 |
| ip_list | list<host> | 主机列表,元素详情见host对象定义 |
| topo_node_list | list<topo_node> | 拓扑节点列表,元素详情见topo_node对象定义 |
| dynamic_group_list | list<dynamic_group> | 动态分组列表,元素详情见dynamic_group对象定义 |

Expand All @@ -195,6 +200,7 @@
| 字段 | 类型 | 描述 |
|-------------|-----------|-----------|
| bk_host_id | long | 主机ID |
| bk_cloud_id | long | 管控区域ID |
| ip | string | IP |
| ipv6 | string | IPv6 |

Expand All @@ -212,43 +218,38 @@
| id | string | CMDB动态分组ID |


##### file_step_info
##### file_info

| 字段 | 类型 | 描述 |
|----------------------|-------------------|-----------|
| file_source_list | list<file_source> | 源文件列表,元素详情见file_source对象定义 |
| file_destination | object | 目标信息,详情见file_destination对象定义 |
| timeout | int | 超时,单位为秒 |
| upload_speed_limit | int | 上传文件限速,单位为MB/s,没有值表示不限速 |
| download_speed_limit | int | 下载文件限速,单位为MB/s,没有值表示不限速 |
| transfer_mode | int | 传输模式: 1-严谨模式,2-强制模式,3-安全模式 |
| ignore_error | int | 是否忽略错误:0-不忽略,1-忽略 |
| 字段 | 类型 | 描述 |
|-------------------------|-------------------|-----------|
| file_source_list | list<file_source> | 源文件列表,元素详情见file_source对象定义 |
| file_destination | object | 目标信息,详情见file_destination对象定义 |
| timeout | int | 超时,单位为秒 |
| source_speed_limit | int | 上传文件限速,单位为MB/s,没有值表示不限速 |
| destination_speed_limit | int | 下载文件限速,单位为MB/s,没有值表示不限速 |
| transfer_mode | int | 传输模式: 1-严谨模式,2-强制模式,3-安全模式 |
| is_ignore_error | int | 是否忽略错误:0-不忽略,1-忽略 |

##### file_source

| 字段 | 类型 | 描述 |
|-------------------|--------------|-----------|
| file_type | int | 文件类型:1-服务器文件,2-本地文件,3-文件源文件 |
| file_location | list<string> | 文件路径列表 |
| file_hash | string | 文件Hash值,仅本地文件该字段有值 |
| file_size | int | 文件大小,单位为字节,仅本地文件该字段有值 |
| host | object | 源文件所在机器,详情见variable_server对象定义 |
| account_id | long | 执行账号ID |
| account_name | string | 执行账号名称 |
| file_list | list<string> | 文件路径列表 |
| server | object | 源文件所在机器,详情见server对象定义 |
| account | object | 执行账号,详情见account对象定义 |
| file_source_id | long | 第三方文件源ID |
| file_source_name | string | 第三方文件源名称 |

##### file_destination

| 字段 | 类型 | 描述 |
|-----------------|-----------|-----------|
| path | string | 目标路径 |
| account_id | long | 执行账号ID |
| account_name | string | 执行账号名称 |
| target_server | object | 分发目标机器,详情见variable_server对象定义 |
| account | object | 执行账号,详情见account对象定义 |
| server | object | 分发目标机器,详情见server对象定义 |


##### approval_step_info
##### approval_info

| 字段 | 类型 | 描述 |
|-------------------|-----------|-----------|
Expand Down
26 changes: 14 additions & 12 deletions docs/apidoc/bk-api-gateway/v3/zh/get_step_instance_status.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
| job_instance_id | long || 作业实例ID |
| step_instance_id | long || 步骤实例ID |
| execute_count | int || 步骤重试次数,从0开始计数,默认值为0。 |
| batch | int || 滚动批次,从0开始计数,默认值为0|
| batch | int || 滚动批次,从0开始计数,默认值为null表示获取所有批次的数据|
| max_host_num_per_group | int || 每个分组(按照status与tag进行分组,分组键可参考返回值字段中的group_key字段)里的最大主机数量,不传则返回全量数据。 |
| keyword | string || 日志搜索关键字,只返回日志中包含该关键字的主机执行状态数据(注意:仅脚本步骤支持) |
| search_ip | string || 主机IP/IPv6搜索关键字,只返回主机IP/IPv6地址包含该关键字的主机执行状态数据 |
Expand All @@ -45,19 +45,20 @@
"code": 0,
"message": "",
"data": {
"status": 4,
"total_time": 1000,
"name": "API Quick execution scriptxxx",
"step_instance_id": 75,
"execute_count": 0,
"create_time": 1605064271000,
"end_time": 1605064272000,
"name": "API Quick execution scriptxxx",
"type": 1,
"status": 4,
"create_time": 1605064271000,
"start_time": 1605064271000,
"step_ip_result_list": [
"end_time": 1605064272000,
"total_time": 1000,
"step_host_result_list": [
{
"bk_host_id": 101,
"ip": "10.0.0.1",
"ipv6": null,
"bk_cloud_id": 0,
"status": 9,
"tag": "tag1",
Expand All @@ -70,6 +71,7 @@
{
"bk_host_id": 102,
"ip": "10.0.0.2",
"ipv6": null,
"bk_cloud_id": 0,
"status": 9,
"tag": "tag2",
Expand Down Expand Up @@ -97,15 +99,15 @@

| 字段 | 类型 | 描述 |
|-----------------------|--------------------------|-----------|
| status | int | 作业步骤状态码: 1-未执行,2-正在执行,3-执行成功,4-执行失败,5-跳过,6-忽略错误,7-等待用户,8-手动结束,9-状态异常,10-步骤强制终止中,11-步骤强制终止成功,12-步骤强制终止失败 |
| total_time | int | 总耗时,单位毫秒 |
| name | string | 步骤名称 |
| step_instance_id | long | 作业步骤实例ID |
| execute_count | int | 步骤重试次数 |
| create_time | long | 作业步骤实例创建时间,Unix时间戳,单位毫秒 |
| end_time | long | 执行结束时间,Unix时间戳,单位毫秒 |
| name | string | 步骤名称 |
| type | int | 步骤类型:1-脚本步骤;2-文件步骤;4-SQL步骤 |
| status | int | 作业步骤状态码: 1-未执行,2-正在执行,3-执行成功,4-执行失败,5-跳过,6-忽略错误,7-等待用户,8-手动结束,9-状态异常,10-步骤强制终止中,11-步骤强制终止成功,12-步骤强制终止失败 |
| create_time | long | 作业步骤实例创建时间,Unix时间戳,单位毫秒 |
| start_time | long | 开始执行时间,Unix时间戳,单位毫秒 |
| end_time | long | 执行结束时间,Unix时间戳,单位毫秒 |
| total_time | int | 总耗时,单位毫秒 |
| step_host_result_list | list<step_host_result> | 每个主机的任务执行结果,定义见step_host_result |


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,10 @@ public class EsbIpDTO {
@JsonPropertyDescription("ip")
private String ip;

@JsonProperty("ipv6")
@JsonPropertyDescription("ipv6")
private String ipv6;

public EsbIpDTO(Long hostId, Long bkCloudId, String ip) {
this.hostId = hostId;
this.bkCloudId = bkCloudId;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
* IN THE SOFTWARE.
*/

package com.tencent.bk.job.manage.model.esb.v3.response;
package com.tencent.bk.job.common.esb.model.job.v3.resp;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
* IN THE SOFTWARE.
*/

package com.tencent.bk.job.manage.model.esb.v3.response;
package com.tencent.bk.job.common.esb.model.job.v3.resp;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
Expand Down Expand Up @@ -79,4 +79,8 @@ public class EsbFileStepV3DTO {
@JsonProperty("transfer_mode")
@JsonPropertyDescription("Transfer mode")
private Integer transferMode;

@JsonProperty("is_ignore_error")
@JsonPropertyDescription("Is ignore error")
private Integer ignoreError;
}
Loading

0 comments on commit 778fceb

Please sign in to comment.