新建检查任务
功能介绍
新建检查任务但是不执行。
调用方法
请参见如何调用API。
URI
POST /v2/{project_id}/task
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
参数解释: 项目的32位uuid,项目唯一标识,通过查询项目列表接口查询项目列表获取。 约束限制: 不涉及。 取值范围: 32位项目ID。 默认取值: 不涉及。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
参数解释: 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 约束限制: 不涉及。 取值范围: 字符串长度不少于1,不超过10万。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
git_url |
是 |
String |
参数解释: 代码仓地址。 约束限制: 不涉及 取值范围: repo仓传以git开头的地址;非repo仓传以http开头的地址。 默认取值: 不涉及。 |
git_branch |
是 |
String |
参数解释: 计划创建任务的对应代码仓的分支。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
language |
否 |
Array of strings |
参数解释: 启用的检查语言,数组格式,支持的语言请关注服务更新特性文档。 约束限制: 与rule_sets 2选1使用。 取值范围: 不涉及。 默认取值: 不涉及。 |
rule_sets |
否 |
Array of RuleSetV2 objects |
参数解释: 启用的规则集,数组格式,当只传语言,不传规则集id时,与language参数等效,启用这些语言在项目下的默认规则集,支持的语言请关注服务更新特性文档。 约束限制: 与language 2选1使用。 |
task_type |
否 |
String |
参数解释: 任务类型。 约束限制: 不涉及。 取值范围:
默认取值: full |
username |
否 |
String |
参数解释: 用户名,与access_token联合使用,用于在创建三方仓时,由Check服务创建1个通用git扩展点,从而保存代码仓信息。 约束限制: username、access_token组合与endpoint_id 2选1使用。 取值范围: 不涉及。 默认取值: 不涉及。 |
access_token |
否 |
String |
参数解释: 密码或访问密钥/令牌,username,用于在创建三方仓时,由Check服务创建1个通用git扩展点,从而保存代码仓信息。 约束限制: username、access_token组合与endpoint_id 2选1使用。 取值范围: 不涉及。 默认取值: 不涉及。 |
endpoint_id |
否 |
String |
参数解释: 用户预先创建的项目下的代码源扩展点ID,保存了代码仓信息。 约束限制: username、access_token组合与endpoint_id 2选1使用。 取值范围: 不涉及。 默认取值: 不涉及。 |
inc_config |
否 |
IncConfigV2 object |
参数解释: 基于某一任务创建分支任务、MR任务时使用的参数。 约束限制: 不涉及。 |
resource_pool_id |
否 |
String |
参数解释: 用户购买的资源池ID,创建任务时如传此参数,任务将使用对应资源池进行检查。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
ruleset_id |
否 |
String |
参数解释: 规则集ID。 约束限制: 32位UUID。 取值范围: 不涉及。 默认取值: 语言在项目下的默认规则集。 |
language |
是 |
String |
参数解释: 检查语言,支持的语言请关注服务更新特性文档。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
parent_task_id |
否 |
String |
参数解释: 需要关联的任务ID。 约束限制: 32位UUID。 取值范围: 不涉及。 默认取值: 不涉及。 |
git_source_branch |
否 |
String |
参数解释: MR增量任务的源分支。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
git_target_branch |
否 |
String |
参数解释: MR增量任务的目标分支。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
merge_id |
否 |
String |
参数解释: MR编号。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
event_type |
否 |
String |
参数解释: 创建MR增量任务时需传。 约束限制: 不涉及。 取值范围: merge_request。 默认取值: 不涉及。 |
action |
否 |
String |
参数解释: 创建MR增量任务时需传。 约束限制: 不涉及。 取值范围: open。 默认取值: 不涉及。 |
title |
否 |
String |
参数解释: 创建MR增量任务时需传,MR标题。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
响应参数
状态码:200
参数 |
参数类型 |
描述 |
---|---|---|
task_id |
String |
参数解释: 任务ID。 取值范围: 全量任务为32位UUID,MR增量任务为"MR_"+32位UUID。 |
状态码:400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
状态码:401
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
请求示例
新建检查任务:检查任务的检查类型为source,对应代码仓URL根据实际情况显示,代码仓分支为master,语言类型为cpp
POST https://{endpoint}/v2/{project_id}/task { "check_type" : [ "source" ], "git_url" : "git@code*****************958.git", "git_branch" : "master", "language" : [ "cpp", "js" ] }
响应示例
状态码:200
Request succeeded!
{ "task_id" : "d161fd0**********cb3c1d6a783e" }
状态码:400
Bad Request
{ "error_code" : "CC.00000000", "error_msg" : "网络繁忙,请稍后再试" }
状态码:401
Unauthorized
{ "error_code" : "CC.00000003", "error_msg" : "认证信息过期" }
SDK代码示例
SDK代码示例如下。
新建检查任务:检查任务的检查类型为source,对应代码仓URL根据实际情况显示,代码仓分支为master,语言类型为cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.codecheck.v2.region.CodeCheckRegion; import com.huaweicloud.sdk.codecheck.v2.*; import com.huaweicloud.sdk.codecheck.v2.model.*; import java.util.List; import java.util.ArrayList; public class CreateTaskSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); CodeCheckClient client = CodeCheckClient.newBuilder() .withCredential(auth) .withRegion(CodeCheckRegion.valueOf("<YOUR REGION>")) .build(); CreateTaskRequest request = new CreateTaskRequest(); request.withProjectId("{project_id}"); CreateTaskRequestV2 body = new CreateTaskRequestV2(); List<String> listbodyLanguage = new ArrayList<>(); listbodyLanguage.add("cpp"); listbodyLanguage.add("js"); List<String> listbodyCheckType = new ArrayList<>(); listbodyCheckType.add("source"); body.withLanguage(listbodyLanguage); body.withGitBranch("master"); body.withGitUrl("git@code*****************958.git"); body.withCheckType(listbodyCheckType); request.withBody(body); try { CreateTaskResponse response = client.createTask(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
新建检查任务:检查任务的检查类型为source,对应代码仓URL根据实际情况显示,代码仓分支为master,语言类型为cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkcodecheck.v2.region.codecheck_region import CodeCheckRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkcodecheck.v2 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] credentials = BasicCredentials(ak, sk) client = CodeCheckClient.new_builder() \ .with_credentials(credentials) \ .with_region(CodeCheckRegion.value_of("<YOUR REGION>")) \ .build() try: request = CreateTaskRequest() request.project_id = "{project_id}" listLanguagebody = [ "cpp", "js" ] listCheckTypebody = [ "source" ] request.body = CreateTaskRequestV2( language=listLanguagebody, git_branch="master", git_url="git@code*****************958.git", check_type=listCheckTypebody ) response = client.create_task(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
新建检查任务:检查任务的检查类型为source,对应代码仓URL根据实际情况显示,代码仓分支为master,语言类型为cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" codecheck "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codecheck/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codecheck/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codecheck/v2/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := codecheck.NewCodeCheckClient( codecheck.CodeCheckClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.CreateTaskRequest{} request.ProjectId = "{project_id}" var listLanguagebody = []string{ "cpp", "js", } var listCheckTypebody = []string{ "source", } request.Body = &model.CreateTaskRequestV2{ Language: listLanguagebody, GitBranch: "master", GitUrl: "git@code*****************958.git", CheckType: &listCheckTypebody, } response, err := client.CreateTask(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。
状态码
状态码 |
描述 |
---|---|
200 |
Request succeeded! |
400 |
Bad Request |
401 |
Unauthorized |
错误码
请参见错误码。