
# 批量异步复制任务 - BatchCopyAsyncTasks
#### 功能介绍
根据任务ID或者模板任务ID批量异步复制任务，待复制的任务支持重新设置项目ID、任务名、代码仓地址、分支名等参数，每个待复制的任务都会返回对应异步任务ID、复制进度等信息。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-codecheck/codecheck_03_0006.html)。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-codecheck/Permission.html)。
| 授权项                       | 访问级别  | 资源类型（\*为必须） | 条件键                     | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| codeartscheck:task:create | Write | task \*     | -                       | -  | -      |
| codeartscheck:task:create | Write | -           | codeartscheck:ProjectId | -  | -      |
   
#### URI
POST /v4/tasks/{task_id}/batch/async-copy
表1路径参数 
| 参数      | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| task_id | 是    | String | **参数解释：** 任务ID或者模板任务ID。 - 任务ID：新建检查任务接口的返回值，每个代码检查任务及其下的分支任务、通过API创建的增量任务都有唯一的任务ID。即[查询任务列表](https://support.huaweicloud.com/api-codecheck/ShowTasksList.html)接口响应中的id字段。 - 模板任务ID：模板任务ID可以通过   [查询模板任务列表](https://support.huaweicloud.com/api-codecheck/ShowTemplateTasks.html)接口响应的data.id字段获取。    **约束限制：** 不涉及。 **取值范围：** 长度为\[1\~32\]个字符。 **默认取值：** 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取（响应消息头中X-Subject-Token的值）。 **约束限制：** 不涉及。 **取值范围：** 长度为\[1\~100000\]的字符。 **默认取值：** 不涉及。 |
| Content-Type | 是    | String | **参数解释：** 编码格式。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** application/json，传任何值，接口返回值均为json格式。                                                                                                |
   
表3请求Body参数 
| 参数       | 是否必选 | 参数类型                                                                                  | 描述                                                                                                                                                               |
|:---|:---|:---|:---|
| \[数组元素\] | 是    | Array of [CopyAsyncTaskInfo] objects | **参数解释：** 根据任务模板批量创建任务需要的参数。 **约束限制：** 不涉及。 |
   
 表4CopyAsyncTaskInfo 
| 参数                   | 是否必选 | 参数类型                                                                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| name                 | 否    | String                                                                | **参数解释：** 任务名。 **约束限制：** 任意中英文、数字、点.、连字符-及下划线_，且长度为1-128。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                 |
| taskClassificationId | 否    | String                                                                | **参数解释：** 任务分组ID。创建任务分组时，会返回一个任务分组ID。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                      |
| repoUrl              | 是    | String                                                                | **参数解释：** 代码仓地址。 **约束限制：** 不涉及。 **取值范围：** - Repo仓: 传以git开头的地址。   - 非Repo仓: 传以http开头的地址。    **默认取值：** 不涉及。 |
| projectId            | 是    | String                                                                | **参数解释:** 项目的32位UUID，通过[查询项目列表](https://support.huaweicloud.com/api-projectman/ListProjectsV4.html)接口获取。 **约束限制:** 不涉及。 **取值范围:** 32位项目ID。 **默认取值:** 不涉及。                                                                                                                                                                                                                               |
| branchName           | 是    | String                                                                | **参数解释:** 代码仓分支名。 **约束限制:** 不涉及。 **取值范围:** 不涉及。 **默认取值:** 不涉及。                                                                                                                                                                                                                                                                                                                          |
| configTemplate       | 否    | [configTemplate] object | **参数解释：** 配置模板。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
 表5configTemplate 
| 参数       | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| 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**
表6响应Body参数 
| 参数       | 参数类型                                                                                   | 描述                                                       |
|:---|:---|:---|
| \[数组元素\] | Array of [AsyncCopyTaskInfo] objects | **参数解释：** 异步任务列表。 |
   
 表7AsyncCopyTaskInfo 
| 参数          | 参数类型                                                                         | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|
| id          | String                                                                       | **参数解释：** 异步任务ID。根据模板批量创建任务时会返回每个任务的异步任务ID。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                     |
| create_time | String                                                                       | **参数解释：** 任务创建时间。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                               |
| type        | String                                                                       | **参数解释：** 异步任务类型。根据模板批量创建任务时为"CopyTask"。 **取值范围：** CopyTask。                                                                                                                                                                                                                                                                                                                                   |
| status      | String                                                                       | **参数解释：** 异步任务状态。 **取值范围：** - RUNNING：异步任务还在执行中。   - SUCCESS：异步任务执行完成。    |
| user        | [AsyncCopyTaskUser] object | **参数解释：** 异步任务的用户信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 表8AsyncCopyTaskUser 
| 参数        | 参数类型   | 描述                                                                                                                                                               |
|:---|:---|:---|
| user_id   | String | **参数解释：** 用户ID,值来源于IAM的用户ID。 **取值范围：** 不涉及。 |
| domain_id | String | **参数解释：** 租户ID,值来源于IAM的租户ID。 **取值范围：** 不涉及。 |
| region    | String | **参数解释：** 华为云地域。 **取值范围：** 不涉及。             |
   
**状态码：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**
请求成功!
```
[ {
  "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**
请求异常。
```
{
  "error_code" : "CC.xxxxxxxx.400",
  "error_msg" : "请求参数校验失败,请检查请求参数是否正确"
}
```
**状态码：401**
权限不足。
```
{
  "error_code" : "CC.00000003",
  "error_msg" : "认证信息过期"
}
```
#### 状态码
| 状态码 | 描述    |
|:---|:---|
| 200 | 请求成功! |
| 400 | 请求异常。 |
| 401 | 权限不足。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-codecheck/ErrorCode.html)。
