文档首页/ 代码检查 CodeArts Check/ API参考/ API/ 任务管理/ 批量异步复制任务 - BatchCopyAsyncTasks
更新时间:2025-12-30 GMT+08:00
分享

批量异步复制任务 - BatchCopyAsyncTasks

功能介绍

根据任务ID或者模板任务ID批量异步复制任务,待复制的任务支持重新设置项目ID、任务名、代码仓地址、分支名等参数,每个待复制的任务都会返回对应异步任务ID、复制进度等信息。

调用方法

请参见如何调用API

授权信息

账号根用户具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备如下身份策略权限,更多的权限说明请参见权限和授权项

授权项

访问级别

资源类型(*为必须)

条件键

别名

依赖的授权项

codeartscheck:task:create

Write

task *

-

-

-

-

codeartscheck:ProjectId

URI

POST /v4/tasks/{task_id}/batch/async-copy

表1 路径参数

参数

是否必选

参数类型

描述

task_id

String

参数解释:

任务ID或者模板任务ID。

  • 任务ID:新建检查任务接口的返回值,每个代码检查任务及其下的分支任务、通过API创建的增量任务都有唯一的任务ID。即查询任务列表接口响应中的id字段。
    • 模板任务ID:模板任务ID可以通过

    查询模板任务列表接口响应的data.id字段获取。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

[数组元素]

Array of CopyAsyncTaskInfo objects

参数解释:

根据任务模板批量创建任务需要的参数。

约束限制:

不涉及。

表3 CopyAsyncTaskInfo

参数

是否必选

参数类型

描述

name

String

参数解释:

任务名。

约束限制:

任意中英文、数字、点.、连字符-及下划线_,且长度为1-128。

取值范围:

不涉及。

默认取值:

不涉及。

taskClassificationId

String

参数解释:

任务分组ID。创建任务分组时,会返回一个任务分组ID。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

repoUrl

String

参数解释:

代码仓地址。

约束限制:

不涉及。

取值范围:

  • Repo仓: 传以git开头的地址。

  • 非Repo仓: 传以http开头的地址。

默认取值:

不涉及。

projectId

String

参数解释:

项目的32位UUID,通过查询项目列表接口获取。

约束限制:

不涉及。

取值范围:

32位项目ID。

默认取值:

不涉及。

branchName

String

参数解释:

代码仓分支名。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

configTemplate

configTemplate object

参数解释:

配置模板。

约束限制:

不涉及。

表4 configTemplate

参数

是否必选

参数类型

描述

authId

String

参数解释:

用户预先创建的项目下的代码源扩展点ID,保存了代码仓信息。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

authType

String

参数解释:

授权类型。

约束限制:

不涉及。

取值范围:

  • DevCloud:CodeArtsRepo仓。

  • Gitee:Gitee仓。

  • GitHub:GitHub仓。

  • GitPub:通用Git仓。

  • gitcode:GitCode仓。

  • gitlab:GitLab仓。

  • self_gitlab:自建GitLab仓。

  • tfs_git:TFS仓。

  • bitbucket:Bitbucket仓。

默认取值:

不涉及。

repoType

String

参数解释:

代码仓类型。

约束限制:

不涉及。

取值范围:

  • DevCloud:CodeArtsRepo仓。

  • Gitee:Gitee仓。

  • GitHub:GitHub仓。

  • GitPub:通用Git仓。

  • gitcode:GitCode仓。

  • gitlab:GitLab仓。

  • self_gitlab:自建GitLab仓。

  • tfs_git:TFS仓。

  • bitbucket:Bitbucket仓。

默认取值:

不涉及。

响应参数

状态码:200

表5 响应Body参数

参数

参数类型

描述

[数组元素]

Array of AsyncCopyTaskInfo objects

参数解释:

异步任务列表。

表6 AsyncCopyTaskInfo

参数

参数类型

描述

id

String

参数解释:

异步任务ID。根据模板批量创建任务时会返回每个任务的异步任务ID。

取值范围:

不涉及。

create_time

String

参数解释:

任务创建时间。

取值范围:

不涉及。

type

String

参数解释:

异步任务类型。根据模板批量创建任务时为"CopyTask"。

取值范围:

CopyTask。

status

String

参数解释:

异步任务状态。

取值范围:

  • RUNNING:异步任务还在执行中。

  • SUCCESS:异步任务执行完成。

user

AsyncCopyTaskUser object

参数解释:

异步任务的用户信息。

result

AsyncCopyTaskResult object

参数解释:

异步任务创建结果。

表7 AsyncCopyTaskUser

参数

参数类型

描述

user_id

String

参数解释:

用户ID,值来源于IAM的用户ID。

取值范围:

不涉及。

domain_id

String

参数解释:

租户ID,值来源于IAM的租户ID。

取值范围:

不涉及。

region

String

参数解释:

华为云地域。

取值范围:

不涉及。

表8 AsyncCopyTaskResult

参数

参数类型

描述

id

String

参数解释:

任务ID,即新建检查任务接口的返回值,每个代码检查任务及其下的分支任务、通过API创建的增量任务都有唯一的任务ID。即查询任务列表接口响应中的id字段。

约束限制:

不涉及。

取值范围:

长度为[1~32]个字符。

默认取值:

不涉及。

projectId

String

参数解释:

项目的32位UUID,通过查询项目列表接口获取。

取值范围:

长度为[1~32]个字符。

状态码:400

表9 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

取值范围:

不涉及。

error_msg

String

参数解释:

错误描述。

取值范围:

不涉及。

状态码:401

表10 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

取值范围:

不涉及。

error_msg

String

参数解释:

错误描述。

取值范围:

不涉及。

请求示例

以任务ID为21ac33fdfaae4132bcb88cf0a6a7a2d3的任务模板,创建两个任务。这两个任务的仓库类型都是CodeArtsRepo仓,项目分别位于项目ID为213d2d49dbb2473e9c8d4f117ab1b0dc,bc17c7dd92c84e84be62185b5e383e90的项目,gitUrl分别为git@codehub.devcloud.example.com:213d2d49dbb2473e9c8d4f117ab1b0dc/phoenix-sample.git和git@codehub.devcloud.example.com:bc17c7dd92c84e84be62185b5e383e90/fortran_test.git。

POST https://{endpoint}/v4/tasks/21ac33fdfaae4132bcb88cf0a6a7a2d3/batch/async-copy

[ {
  "name" : "task_name1",
  "taskClassificationId" : "no_grouped",
  "repoUrl" : "git@codehub.devcloud.example.com:213d2d49dbb2473e9c8d4f117ab1b0dc/phoenix-sample.git",
  "projectId" : "213d2d49dbb2473e9c8d4f117ab1b0dc",
  "branchName" : "master",
  "configTemplate" : {
    "repoType" : "DevCloud"
  }
}, {
  "name" : "task_name2",
  "taskClassificationId" : "no_grouped",
  "repoUrl" : "git@codehub.devcloud.example.com:bc17c7dd92c84e84be62185b5e383e90/fortran_test.git",
  "projectId" : "bc17c7dd92c84e84be62185b5e383e90",
  "branchName" : "master",
  "configTemplate" : {
    "repoType" : "DevCloud"
  }
} ]

响应示例

状态码:200

Request succeeded!

[ {
  "id" : "24426b3d522f40719e22c4867fb79f3b",
  "create_time" : "2025-09-09 11:50:41",
  "type" : "CopyTask",
  "status" : "RUNNING",
  "user" : {
    "user_id" : "4050544ea69a40dabf28310fc3d10a09",
    "domain_id" : "389efb76b1354e4482eabeed25c895e4",
    "region" : "cn-north-7"
  }
}, {
  "id" : "b7875294d47841d48c4728c7ca17994a",
  "create_time" : "2025-09-09 11:50:41",
  "type" : "CopyTask",
  "status" : "RUNNING",
  "user" : {
    "user_id" : "4050544ea69a40dabf28310fc3d10a09",
    "domain_id" : "389efb76b1354e4482eabeed25c895e4",
    "region" : "cn-north-7"
  }
} ]

状态码:400

Bad Request

{
  "error_code" : "CC.xxxxxxxx.400",
  "error_msg" : "请求参数校验失败,请检查请求参数是否正确"
}

状态码:401

Unauthorized

{
  "error_code" : "CC.00000003",
  "error_msg" : "认证信息过期"
}

状态码

状态码

描述

200

Request succeeded!

400

Bad Request

401

Unauthorized

错误码

请参见错误码

相关文档