新建定时运维 - CreateScheduledTask
功能介绍
新建定时运维任务,按确定时间或周期定时触发脚本执行、作业管理等操作。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
coc:schedule:create
Write
schedule
g:EnterpriseProjectId
-
-
instance
document
-
URI
POST /v1/schedule/task
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
ticket_infos |
否 |
Array of TicketInfo objects |
参数解释: 变更管理相关配置信息,请参考变更管理进行配置。 约束限制: 若当前接口已在“变更管控”中启用了“工单授权”,则该值必填,即给定对应的提权信息。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
name |
是 |
String |
参数解释: 任务名称。 约束限制: 不涉及。 取值范围: 由中文、字母、数字、中划线、下划线组成,长度在3~100之间。 默认取值: 不涉及。 |
|
enterprise_project_id |
否 |
String |
参数解释: 企业项目ID。 约束限制: 若没有,请前往创建企业管理中创建。 取值范围: 请选择存在的企业项目ID。 默认取值: 默认值:0。 |
|
agency_name |
否 |
String |
参数解释: 委托名称。 约束限制: 若选择的委托权限不足,将无法执行任务,请前往统一身份认证服务创建委托并授权。 取值范围: 请选择存在的委托名称。 默认取值: ServiceAgencyForCOC,推荐使用。 |
|
version_no |
是 |
String |
参数解释: 版本号。 约束限制: 不涉及。 取值范围: 可自定义,长度在1~50之间。 默认取值: 默认值:1.0.0。 |
|
trigger_time |
是 |
TriggerTime object |
参数解释: 定时任务执行时间详情。 约束限制: 不涉及。 取值范围: 请参考TriggerTime的具体取值约束。 默认取值: 请参考TriggerTime的具体取值约束。 |
|
task_type |
是 |
String |
参数解释: 任务类型。 约束限制: 不涉及。 取值范围: 默认取值: SCRIPT。 |
|
associated_task_id |
是 |
String |
参数解释: 关联任务ID(脚本ID或作业ID)。 约束限制: 关联任务必须在“脚本管理”或“作业管理”中存在。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
associated_task_type |
是 |
String |
参数解释: 关联任务的类型。 约束限制: 不涉及。 取值范围: 默认取值: CUSTOMIZATION。 |
|
associated_task_name |
是 |
String |
参数解释: 关联任务的名称(脚本名称/作业名称)。 约束限制: 与associated_task_id对应。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
associated_task_name_en |
否 |
String |
参数解释: 关联任务的英文名称。 约束限制: 与associated_task_id对应。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
associated_task_enterprise_project_id |
否 |
String |
参数解释: 关联任务的企业项目ID。 约束限制: 与associated_task_id对应。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
runbook_instance_mode |
否 |
String |
参数解释: 目标实例模式。 约束限制: 当关联任务类型为作业时,该值必填,实例资源的关联方式。 取值范围: 默认取值: SAME。 |
|
risk_level |
是 |
String |
参数解释: 定时任务的风险等级。 约束限制: 不涉及。 取值范围: 默认取值: HIGH。 |
|
input_param |
是 |
Map<String,String> |
参数解释: 任务执行参数,即脚本或作业的执行参数。 约束限制: json字符串,其中最多50个键值对,每个键值对的值长度为0~16777215的字符串,请与脚本或作业的执行参数保持一致。如脚本,需指定对应的执行用户、超时时间、执行入参等。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
target_instances |
是 |
Array of ScheduleInstance objects |
参数解释: 目标实例信息。 约束限制: 取值范围: 不涉及。 默认取值: 不涉及。 |
|
enable_approve |
是 |
Boolean |
参数解释: 是否开启入库人工审核。 约束限制: 不涉及。 取值范围: 布尔值。 默认取值: true。 |
|
reviewer_notification |
否 |
MessageNotification object |
参数解释: 审核人通知信息。 约束限制: 不涉及。 取值范围: 请参考MessageNotification的具体取值约束。 默认取值: 请参考MessageNotification的具体取值约束。 |
|
reviewer_user_name |
否 |
String |
参数解释: 审核人昵称。 约束限制: 请选择在人员管理中存在的人员信息。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
enable_message_notification |
是 |
Boolean |
参数解释: 是否启用消息通知。 约束限制: 不涉及。 取值范围: 布尔值。 默认取值: false。 |
|
message_notification |
否 |
MessageNotification object |
参数解释: 消息通知信息。 约束限制: 不涉及。 取值范围: 请参考MessageNotification的具体取值约束。 默认取值: 请参考MessageNotification的具体取值约束。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
ticket_id |
否 |
String |
参数解释: 变更管理相关工单ID。 约束限制: 请选择当前生效的工单。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
ticket_type |
否 |
String |
参数解释: 工单类型。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
|
target_id |
否 |
String |
参数解释: 工单关联的应用ID。 约束限制: 请选择工单真实关联的应用ID。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
scope_id |
否 |
String |
参数解释: 区域ID。 约束限制: 请选择工单真实关联的区域ID。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
time_zone |
是 |
String |
参数解释: 时区。 约束限制: 不涉及。 取值范围: 真实存在的时区即可。 默认取值: Asia/Shanghai(东八区)。 |
|
policy |
是 |
String |
参数解释: 定时任务执行策略。 约束限制: 不涉及。 取值范围: 默认取值: ONCE。 |
|
single_scheduled_time |
否 |
Long |
参数解释: 单次执行类定时任务的执行时间。 约束限制: 若定时任务执行策略为单次执行,则该值必填。 取值范围: 毫秒级UTC时间戳。 默认取值: 不涉及。 |
|
periodic_scheduled_time |
否 |
String |
参数解释: 周期执行类定时任务的每天执行时间。 约束限制: 若定时任务执行策略为周期执行,则该值必填。 取值范围: 24小时制的时间字符串。如任务在当天下午5点半执行,即17:30:00。 默认取值: 当前时间。 |
|
period |
否 |
String |
参数解释: 周期执行类定时任务的具体星期列表。 约束限制: 若定时任务执行策略为周期执行,则该值必填。 取值范围: 星期按英文逗号分隔;如星期日为“1”,星期一为“2”。如任务在每周一、周三、周四、周天执行,即1,2,4,5。 默认取值: 不涉及。 |
|
cron |
否 |
String |
参数解释: 按CRON表达式执行类定时任务的CRON表达式具体值。 约束限制: 若定时任务执行策略为按CRON表达式执行,则该值必填。 取值范围: 有效CRON表达式即可。如任务在每天上午10点15分执行,即0 15 10 ? * *。 默认取值: 不涉及。 |
|
scheduled_close_time |
否 |
Long |
参数解释: 定时任务执行截止时间。 约束限制: 当定时任务执行策略为PERIODIC和CRON时,则该值必填,即定时任务规则截止日期的时间戳。 取值范围: 毫秒级UTC时间戳。 默认取值: 不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
target_selection |
是 |
String |
参数解释: 目标实例选择方式。 约束限制: 不涉及。 取值范围: 默认取值: MANUAL。 |
|
target_resource |
否 |
TargetResource object |
参数解释: 目标实例查询条件。 约束限制: 若目标实例选择方式为全部实例,则该值必填。 取值范围: 请参考TargetResource的具体取值约束。 默认取值: 请参考TargetResource的具体取值约束。 |
|
target_instances |
否 |
String |
参数解释: 实例信息。 约束限制: 当目标实例选择方式为手动选择,则该值必填,即为目标实例资源的详细信息。 取值范围: 长度在0~100000000的json字符串。 默认取值: 不涉及。 |
|
order_no |
是 |
Integer |
参数解释: 步骤号。 约束限制: 取值范围: 不涉及。 默认取值: 不涉及。 |
|
batch_strategy |
否 |
String |
参数解释: 实例分批策略。 约束限制: 取值范围: 默认取值: 不涉及。 |
|
sub_target_instances |
否 |
Array of ScheduleInstance objects |
参数解释: 二级资源实例信息。 约束限制: 若定时任务关联的作业中某一步骤下有多个任务,且目标实例模式为DIFF时,该值必填,即表示每个任务单独指定操作的资源实例。 取值范围: 长度为0~100的数组。 默认取值: 不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
type |
否 |
String |
参数解释: 资源选择方式(REGION, APPLICATION),即按region或application选择资源实例。 约束限制: 不涉及。 取值范围: 默认取值: REGION。 |
|
id |
否 |
String |
参数解释: region或application对应ID。 约束限制: 与选择的region或application对应即可。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
app_name |
否 |
String |
参数解释: 应用名称(层级关系用.隔开)。 约束限制: 当资源选择方式为APPLICATION时,该值必填,即所选application的名称。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
region_id |
否 |
String |
参数解释: region_id(application所关联的region)。 约束限制: 当资源选择方式为APPLICATION时,该值必填,即所选application所关联region_id。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
params |
否 |
Array of ResourceQuery objects |
参数解释: 资源实例的动态查询条件。 约束限制: 不涉及。 取值范围: 请参考ResourceQuery的具体取值约束。 默认取值: 请参考ResourceQuery的具体取值约束。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
key |
是 |
String |
参数解释: 资源属性名。 约束限制: 请选择“应用资源管理”中资源存在的属性,如ep_id(企业项目ID)、agent_state(uniagent状态)等。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
value |
是 |
String |
参数解释: 资源属性对应的参数值。 约束限制: 参照所选key给定参数值即可。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
policy |
否 |
String |
参数解释: 通知策略。 约束限制: 当启用消息通知时,该值必填,即需要指定对应的通知策略。 取值范围: 默认取值: 不涉及。 |
|
notification_endpoint_type |
是 |
String |
参数解释: 通知对象类型。 约束限制: 不涉及。 取值范围: 默认取值: ONCALL。 |
|
schedule_scene_id |
否 |
String |
参数解释: 排班场景ID。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
|
schedule_role_id |
否 |
String |
参数解释: 排班角色ID。 约束限制: 取值范围: 不涉及。 默认取值: 不涉及。 |
|
recipients |
否 |
String |
参数解释: 通知人ID。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
|
protocol |
否 |
String |
参数解释: 通知渠道。 约束限制: 请确保当前渠道已被订阅,参考人员管理中的用户订阅。
取值范围:
默认取值:
DEFAULT,将任选一种您已订阅的通知渠道,若未订阅任何通知渠道,将无法接收通知。 |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
data |
String |
参数解释: 接口响应数据。 取值范围: 不涉及。 |
状态码:400
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
参数解释: 错误码。 取值范围: 不涉及。 |
|
error_msg |
String |
参数解释: 错误描述。 取值范围: 不涉及。 |
请求示例
创建一个单次执行的定时任务,关联任务类型为Script,同时启用消息通知和入库审核。
POST https://{Endpoint}/v1/schedule/task
{
"name" : "test",
"version_no" : "1.0.0",
"enterprise_project_id" : "0",
"task_type" : "SCRIPT",
"associated_task_type" : "CUSTOMIZATION",
"associated_task_id" : "SC****",
"associated_task_enterprise_project_id" : "0",
"associated_task_name" : "test-scripts",
"input_param" : {
"timeout" : 300,
"execute_user" : "root",
"success_rate" : 100,
"project_id" : "****",
"script_params" : "[]"
},
"target_instances" : [ {
"target_selection" : "MANUAL",
"target_instances" : "{\"batches\":[{\"batchIndex\":1,\"rotationStrategy\":\"CONTINUE\",\"targetInstances\":[{\"resourceId\":\"****\",\"regionId\":\"cn-north-4\",\"provider\":\"ECS\",\"type\":\"CLOUDSERVERS\",\"agentSn\":\"****\",\"agentStatus\":\"ONLINE\",\"nodeId\":\"\",\"enterpriseProjectId\":\"0\",\"properties\":{\"hostName\":\"****\",\"fixedIp\":\"****\",\"floatingIp\":\"****\",\"regionId\":\"cn-north-4\",\"zoneId\":\"cn-north-4b\",\"projectId\":\"****\"}}]}],\"policy\":\"none\",\"all_rotation\":\"ALL_CONTINUE\"}",
"order_no" : 0,
"batch_strategy" : "NONE"
} ],
"runbook_instance_mode" : "SAME",
"agency_name" : "ServiceAgencyForCOC",
"trigger_time" : {
"time_zone" : "Asia/Shanghai",
"policy" : "ONCE",
"single_scheduled_time" : 1746072075000
},
"risk_level" : "LOW",
"enable_approve" : true,
"reviewer_user_name" : "****",
"reviewer_notification" : {
"notification_endpoint_type" : "USER",
"protocol" : "DEFAULT",
"recipients" : "****"
},
"enable_message_notification" : true,
"message_notification" : {
"policy" : "EXECUTION_FAILED,START_EXECUTION",
"notification_endpoint_type" : "USER",
"protocol" : "DEFAULT",
"recipients" : "****"
}
}
响应示例
状态码:200
请求成功。
{
"data" : "ST****"
}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
请求成功。 |
|
400 |
请求体有误。 |
错误码
请参见错误码。