作业任务

说明

  • 查看已执行过的作业,可以完成再次执行,查看历史执行内容的操作

1、作业任务列表、新增作业任务、批量删除作业任务 API

请求方式: GET(查询) POST(新增) DELETE(批量删除)

请求地址: /api/job/job/

Content-Type:

新增数据的时候需要指定Content-Type,以下对Content-Type进行说明:

application/x-www-form-urlencoded —— 表示通过表单方式提交
application/json —— 表示传入数据为json格式字符串

查询参数:

参数 数据类型 是否必须 说明
offset int 数据起始位置
limit int 查询条数
template int 模板id
inventory int 主机清单
credential int 凭据id
state string 状态
kind string 作业类型
schedule string 计划任务

输入参数(新增):

参数 数据类型 是否必须 说明
cuser string 执行人
last_name string 执行人姓名
template int 模板id
template_name string 模板id中文名称
inventory int 主机清单
inventory_name string 主机清单中文名称
credential int 凭据id
credential_name string 凭据id中文名称
start_time long 开始时间(秒级时间戳)
finish_time long 完成时间(秒级时间戳)
state string 状态(new-新建;waiting-等待中;running-运行中;successful-成功;failed-失败)
job_type string 运行模式(run-Run;check-Check)
project int 项目id
project_name string 项目id中文名称
forks int 并发数
limit string limit
tags string tags
skip_tags string skip_tags
verbosity int Debug级别(0-Normal;1-Verbose;2-More Verbose;3-Debug;4-Connection Debug)
variables string 参数
inventory_str int 主机列表
become_enabled int 是否允许切换用户(0-否;1-是)
become_enabled_name int 是否允许切换用户中文名称(0-否;1-是)
diff_mode int 是否使用diff模块(0-否;1-是)
diff_mode_name int 是否使用diff模块中文名称(0-否;1-是)
force_handlers int 是否强制允许handlers任务(0-否;1-是)
force_handlers_name int 是否强制允许handlers任务中文名称(0-否;1-是)
start_at_task string 开始任务
module string 模块
arguments string 命令参数
node int 工作流节点
schedule int 计划任务
schedule_name string 计划任务中文名称
ctime long 创建时间

输出参数:

参数 数据类型 是否必须 说明
id int 作业任务 id
cuser string 执行人
last_name string 执行人姓名
template int 模板id
template_name string 模板id中文名称
inventory int 主机清单
inventory_name string 主机清单中文名称
credential int 凭据id
credential_name string 凭据id中文名称
start_time long 开始时间(秒级时间戳)
finish_time long 完成时间(秒级时间戳)
state string 状态(new-新建;waiting-等待中;running-运行中;successful-成功;failed-失败)
job_type string 运行模式(run-Run;check-Check)
project int 项目id
project_name string 项目id中文名称
forks int 并发数
limit string limit
tags string tags
skip_tags string skip_tags
verbosity int Debug级别(0-Normal;1-Verbose;2-More Verbose;3-Debug;4-Connection Debug)
variables string 参数
inventory_str int 主机列表
become_enabled int 是否允许切换用户(0-否;1-是)
become_enabled_name int 是否允许切换用户中文名称(0-否;1-是)
diff_mode int 是否使用diff模块(0-否;1-是)
diff_mode_name int 是否使用diff模块中文名称(0-否;1-是)
force_handlers int 是否强制允许handlers任务(0-否;1-是)
force_handlers_name int 是否强制允许handlers任务中文名称(0-否;1-是)
start_at_task string 开始任务
module string 模块
arguments string 命令参数
node int 工作流节点
schedule int 计划任务
schedule_name string 计划任务中文名称
ctime long 创建时间

批量删除参数:

参数 数据类型 是否必须 说明
pk string 与pk[]不能都为空 主键,多个主键用半角逗号隔开。通过http body传入
pk[] array 与pk不能都为空 主键数组。通过http body传入

排序:

参数 数据类型 是否必须 说明
ordering string
一般默认按id倒叙
  • ordering=id表示按id排序ordering=-id表示按id倒叙
  • 多个字段排序用半角逗号分隔

GET返回数据例子:

{
    "count": 9,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 1718,
            "template": null,
            "cuser": 18,
            "user": "fly yao",
            "job_type": "run",
            "inventory": 15,
            "credential": 30,
            "forks": 0,
            "limit": "",
            "tags": "",
            "skip_tags": "",
            "verbosity": 0,
            "variables": "",
            "start_time": 1561705739,
            "finish_time": 1561705740,
            "state": "failed",
            "inventory_str": "",
            "become_enabled": 0,
            "diff_mode": 0,
            "force_handlers": 0,
            "start_at_task": "",
            "inventory_name": "测试tomcat",
            "credential_name": "测试",
            "state_name": "失败",
            "playbook": "main.yml",
            "kind": "job",
            "arguments": "",
            "module": "",
            "verbosity_name": "Normal",
            "kind_name": "自动化作业",
            "job": null,
            "node": null,
            "force_handlers_name": "否",
            "diff_mode_name": "否",
            "become_enabled_name": "否",
            "schedule": null,
            "schedule_name": null,
            "ctime": 1561705739,
            "project_name": "测试tomcat",
            "project": 15
        },
        {
            "id": 1716,
            "template": 28,
            "cuser": 18,
            "user": "fly yao",
            "job_type": "run",
            "inventory": 15,
            "credential": 30,
            "forks": 0,
            "limit": "",
            "tags": "",
            "skip_tags": "",
            "verbosity": 0,
            "variables": "",
            "start_time": 1561689956,
            "finish_time": 1561689957,
            "state": "failed",
            "inventory_str": "",
            "become_enabled": 0,
            "diff_mode": 0,
            "force_handlers": 0,
            "start_at_task": "",
            "inventory_name": "测试tomcat",
            "credential_name": "测试",
            "template_name": "tomcat",
            "state_name": "失败",
            "playbook": "main.yml",
            "kind": "job",
            "arguments": "",
            "module": "",
            "verbosity_name": "Normal",
            "kind_name": "自动化作业",
            "job": null,
            "node": null,
            "force_handlers_name": "否",
            "diff_mode_name": "否",
            "become_enabled_name": "否",
            "schedule": null,
            "schedule_name": null,
            "ctime": 1561689956,
            "project_name": "测试tomcat",
            "project": 15
        },
        {
            "id": 1715,
            "template": 28,
            "cuser": 18,
            "user": "fly yao",
            "job_type": "run",
            "inventory": 15,
            "credential": 30,
            "forks": 0,
            "limit": "",
            "tags": "",
            "skip_tags": "",
            "verbosity": 0,
            "variables": "",
            "start_time": 1561688923,
            "finish_time": 1561688924,
            "state": "failed",
            "inventory_str": "",
            "become_enabled": 0,
            "diff_mode": 0,
            "force_handlers": 0,
            "start_at_task": "",
            "inventory_name": "测试tomcat",
            "credential_name": "测试",
            "template_name": "tomcat",
            "state_name": "失败",
            "playbook": "main.yml",
            "kind": "job",
            "arguments": "",
            "module": "",
            "verbosity_name": "Normal",
            "kind_name": "自动化作业",
            "job": null,
            "node": null,
            "force_handlers_name": "否",
            "diff_mode_name": "否",
            "become_enabled_name": "否",
            "schedule": null,
            "schedule_name": null,
            "ctime": 1561688923,
            "project_name": "测试tomcat",
            "project": 15
        }
    ]
}

新增作业任务返回数据例子:

{
    "id": 1715,
    "template": 28,
    "cuser": 18,
    "user": "fly yao",
    "job_type": "run",
    "inventory": 15,
    "credential": 30,
    "forks": 0,
    "limit": "",
    "tags": "",
    "skip_tags": "",
    "verbosity": 0,
    "variables": "",
    "start_time": 1561688923,
    "finish_time": 1561688924,
    "state": "failed",
    "inventory_str": "",
    "become_enabled": 0,
    "diff_mode": 0,
    "force_handlers": 0,
    "start_at_task": "",
    "inventory_name": "测试tomcat",
    "credential_name": "测试",
    "template_name": "tomcat",
    "state_name": "失败",
    "playbook": "main.yml",
    "kind": "job",
    "arguments": "",
    "module": "",
    "verbosity_name": "Normal",
    "kind_name": "自动化作业",
    "job": null,
    "node": null,
    "force_handlers_name": "否",
    "diff_mode_name": "否",
    "become_enabled_name": "否",
    "schedule": null,
    "schedule_name": null,
    "ctime": 1561688923,
    "project_name": "测试tomcat",
    "project": 15
}

2、获取单个作业任务,修改作业任务、删除作业任务 API

请求方式: GET(查询) PUT(修改) PATCH(修改) DELETE(删除)

请求地址: /api/job/job/1715/

请求地址中1715为作业任务的id

输入/输出参数: 见章节1中输入和输出参数说明,修改数据时输入参数均为非必须

返回数据例子:

{
    "id": 1715,
    "template": 28,
    "cuser": 18,
    "user": "fly yao",
    "job_type": "run",
    "inventory": 15,
    "credential": 30,
    "forks": 0,
    "limit": "",
    "tags": "",
    "skip_tags": "",
    "verbosity": 0,
    "variables": "",
    "start_time": 1561688923,
    "finish_time": 1561688924,
    "state": "failed",
    "inventory_str": "",
    "become_enabled": 0,
    "diff_mode": 0,
    "force_handlers": 0,
    "start_at_task": "",
    "inventory_name": "测试tomcat",
    "credential_name": "测试",
    "template_name": "tomcat",
    "state_name": "失败",
    "playbook": "main.yml",
    "kind": "job",
    "arguments": "",
    "module": "",
    "verbosity_name": "Normal",
    "kind_name": "自动化作业",
    "job": null,
    "node": null,
    "force_handlers_name": "否",
    "diff_mode_name": "否",
    "become_enabled_name": "否",
    "schedule": null,
    "schedule_name": null,
    "ctime": 1561688923,
    "project_name": "测试tomcat",
    "project": 15
}