API 参考
文档版本 16
发布日期 2022-02-28
版权所有 © 华为技术有限公司 2022。 保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播。
商标声明
和其他华为商标均为华为技术有限公司的商标。
本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
注意
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或暗示的声 明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
目 录
1 使用前必读... 1
1.1 概述... 1
1.2 调用说明...1
1.3 终端节点...1
1.4 基本概念...2
2 API 概览... 4
3 如何调用 API...5
3.1 构造请求...5
3.2 认证鉴权...8
3.3 返回结果...9
4 API...11
4.1 Scrum 项目的工作项... 11
4.1.1 创建工作项类型自定义字段... 11
4.1.2 上传图片... 14
4.1.3 获取工作项完成率... 16
4.1.4 获取指定工作项的评论列表... 19
4.1.5 按用户查询工时(单项目)... 21
4.1.6 按用户查询工时(多项目)... 25
4.1.7 获取工作项历史记录... 28
4.1.8 创建工作项... 31
4.1.9 高级查询工作项...37
4.1.10 批量删除工作项... 44
4.1.11 查询工作项详情... 46
4.1.12 更新工作项... 52
4.1.13 删除工作项... 58
4.1.14 获取子工作项...60
4.1.15 细粒度权限用户创建工作项...65
4.2 Scrum 项目的迭代... 72
4.2.1 获取指定项目的迭代列表... 72
4.2.2 批量删除项目的迭代... 75
4.2.3 查看迭代详情... 77
4.2.4 创建 Scrum 项目迭代...79
4.2.5 更新 Scrum 项目迭代...81
4.2.6 删除项目迭代... 84
4.2.7 查看迭代历史记录... 86
4.3 用户信息... 89
4.3.1 获取当前用户信息... 89
4.3.2 更新用户昵称... 91
4.3.3 获取当前用户角色... 92
4.3.4 更新子用户昵称...94
4.4 项目成员... 96
4.4.1 主动退出项目... 96
4.4.2 获取指定项目的成员用户列表...98
4.4.3 批量添加项目成员... 101
4.4.4 批量删除项目成员... 103
4.4.5 更新成员在项目中的角色... 105
4.4.6 添加项目成员...107
4.4.7 AGC 调用 当前用户申请加入项目...110
4.5 项目信息... 111
4.5.1 获取项目详情...112
4.5.2 更新项目... 114
4.5.3 删除项目... 116
4.5.4 查询项目列表...118
4.5.5 获取租户没有加入的项目... 121
4.5.6 创建项目... 125
4.5.7 检查项目名称是否存在... 127
4.6 项目指标... 129
4.6.1 查询人均 bug...129
4.6.2 查询需求按时完成率...133
4.6.3 查询缺陷密度...137
4.7 项目统计... 140
4.7.1 获取 bug 统计信息... 140
4.7.2 获取需求统计信息... 142
4.7.3 获取项目概览...145
5 应用示例... 149
5.1 示例 1:获取项目管理中项目列表... 149
5.2 示例 2:查询指定项目下的迭代列表...150
5.3 示例 3:查询用户工作项的评论... 151
6 附录... 154
6.1 状态码... 154
6.2 错误码... 157
6.3 获取项目 ID... 161
7 历史 API... 164
7.1 Scrum 项目的工作项...164
7.1.1 获取工作项完成率... 164
7.1.2 在指定项目中创建新工作项...167
7.1.3 批量删除指定项目中指定的工作项...170
7.1.4 根据过滤条件获取指定项目的工作项列表...171
7.1.5 获取指定项目中指定的工作项详情...178
7.1.6 在指定项目中修改更新已有的工作项... 184
7.1.7 删除指定项目中指定的工作项... 187
7.1.8 该接口用于获取指定工作项的子工作项列表... 188
7.1.9 在指定的父工作项中创建新子工作项... 191
7.1.10 获取指定工作项的评论列表... 194
7.1.11 获取 scrum 项目下项目计划树...197
7.1.12 按用户查询工时(多项目)... 199
7.1.13 按用户查询工时(单项目)... 202
7.1.14 工作操作历史记录...204
7.2 Scrum 项目的迭代... 207
7.2.1 获取指定项目的迭代列表... 207
7.2.2 在指定的项目中创建迭代... 210
7.2.3 删除指定项目中指定的迭代...212
7.2.4 获取指定项目的迭代详情... 214
7.2.5 在指定的项目中更新指定的迭代... 217
7.2.6 删除指定项目中指定的迭代...219
7.2.7 获取 scrum 各迭代燃尽图... 221
7.3 用户信息... 223
7.3.1 修改用户昵称...224
7.3.2 获取当前用户信息... 225
7.3.3 用户的角色... 227
7.4 项目成员... 229
7.4.1 批量添加成员...229
7.4.2 主动退出项目...231
7.4.3 获取指定项目的成员用户列表... 233
7.4.4 把当前登录用户添加到指定的项目中,加入后成为项目的成员,成员角色为开发人员... 236
7.4.5 删除指定项目中的指定用户执行成功后,指定的用户没有项目浏览权限,不能查看项目任何信息... 238
7.4.6 AGC 调用 当前用户申请加入项目...240
7.4.7 设置成员用户在指定项目中的角色...242
7.4.8 删除指定项目中的指定用户执行成功后,指定的用户没有项目浏览权限,不能查看项目任何信息... 244
7.4.9 获取指定项目的成员用户列表... 246
7.5 项目信息... 249
7.5.1 listProjects...249
7.5.2 使用指定的名称和描述在 DevCloud 平台上创建项目... 251
7.5.3 获取租户没有加入的项目... 254
7.5.4 检查指定的项目名是否存在...257
7.5.5 根据项目 UUID 获取已创建项目的项目信息,用户须有项目的浏览权限... 259
7.5.6 根据项目 UUID 更新项目... 261
7.5.7 根据项目 UUID 删除项目... 264
7.5.8 获取创建项目参数项目的 checkUUid... 265
7.5.9 创建凤凰项目...267
7.5.10 获取项目列表... 270
7.5.11 创建项目... 273
7.5.12 获取项目详情... 276
7.5.13 创建 Xboard 项目... 278
7.6 项目指标... 281
7.6.1 查询缺陷密度...281
7.7 项目统计... 284
7.7.1 获取缺陷统计信息... 284
7.7.2 获取需求统计信息... 287
7.7.3 获取工作项完成情况统计信息... 289
7.7.4 获取指定项目的概览和统计信息,用户须有项目的浏览权限...292
8 文档修订记录...296
1 使用前必读
1.1 概述 1.2 调用说明 1.3 终端节点 1.4 基本概念
1.1 概述
项目管理(ProjectMan)为敏捷开发团队提供简单高效的团队协作服务,包含多项目 管理、敏捷迭代、看板协作、需求管理、缺陷跟踪、文档管理、Wiki在线协作、仪表 盘自定制报表等功能。
您可以使用本文档提供API对项目管理进行相关操作,如创建、删除、查询任务等,支 持的全部操作请参见API概览。
在调用API之前,请确保已经充分了解项目管理相关概念,详细信息请参见产品介绍。
1.2 调用说明
项目管理提供了REST(Representational State Transfer)风格API,支持您通过 HTTPS请求调用,调用方法请参见如何调用API。
1.3 终端节点
终端节点即调用API的请求地址,不同服务不同区域的终端节点不同。
项目管理的终端节点如表1-1所示,请您根据业务需要选择对应区域的终端节点。
表1-1 表 1 项目管理的终端节点
区域名称 区域 终端节点(Endpoint)
东北-大连 cn-
northeast-1 projectman-ext.cn-northeast-1.myhuaweicloud.com 华北-北京
四 cn-north-4 projectman-ext.cn-north-4.myhuaweicloud.com 华北-北京
一 cn-north-1 projectman-ext.cn-north-1.myhuaweicloud.com 华东-上海
二 cn-east-2 projectman-ext.cn-east-2.myhuaweicloud.com 华南-广州 cn-south-1 projectman-ext.cn-south-1.myhuaweicloud.com
1.4 基本概念
● 帐号
用户注册华为云时的帐号,帐号对其所拥有的资源及云服务具有完全的访问权 限,可以重置用户密码、分配用户权限等。由于帐号是付费主体,为了确保帐号 安全,建议您不要直接使用帐号进行日常管理工作,而是创建用户并使用他们进 行日常管理工作。
● 用户
由帐号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问 密钥)。
在我的凭证下,您可以查看帐号ID和用户ID。通常在调用API的鉴权过程中,您需 要用到帐号、用户和密码等信息。
● 区域(Region)
从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象 存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属 Region。
– 通用Region指面向公共租户提供通用云服务的Region。
– 专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用 Region。
● 可用区(AZ,Availability Zone)
一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将 计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光 纤相连,以满足用户跨AZ构建高可用性系统的需求。
● 项目
用户在项目管理中创建的项目,根据模板创建项目,根据您选择的项目模板,还 包含有预置的工作项、代码或资源等。通过管理项目IAM用户(即“团队成 员”)所需的权限。将IAM用户作为团队成员添加到项目,给每个团队成员分配
● 项目模板
使用模板创建项目,模板项目是指默认预置模板类型的项目,即基于Scrum和看 板形式,由项目管理预置好一些工作项和流程。选择项目模板后,会自动生成对 应样例模板,供用户参考和使用,用户也可以新建自己的开发任务。
● 企业项目
企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔 离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。
关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户 指南》。
2 API 概览
表2-1 项目管理 API 概览
类型 子类型 说明
Scrum项目的
工作项 4.1 Scrum项目
的工作项 Scrum项目工作项的创建、删除、修改、查询等 相关接口。
Scrum项目的
迭代 4.2 Scrum项目
的迭代 Scrum项目迭代的创建、删除、修改、查询等相
关接口。
用户信息 4.3 用户信息 获取当前用户信息,更新用户昵称,获取当前用
户角色。
项目成员 4.4 项目成员 添加、查询、删除、退出项目成员等接口信息。
项目信息 4.5 项目信息 创建、更新、查询、删除项目等相关的接口。
项目指标 4.6 项目指标 查询人均bug,查询需求按时完成率,查询缺陷
密度。
项目统计 4.7 项目统计 获取bug,需求统计信息,获取项目概览。
3 如何调用 API
3.1 构造请求 3.2 认证鉴权 3.3 返回结果
3.1 构造请求
本节介绍REST API请求的组成,并以调用IAM服务的获取用户Token获取请求认证接 口说明如何调用API,该API获取用户的Token,Token可以用于调用其他API时鉴权。
您还可以通过这个视频教程了解如何构造请求调用API:https://
bbs.huaweicloud.com/videos/102987 。
请求 URI
请求URI由如下部分组成。
{URI-scheme} :// {Endpoint} / {resource-path} ? {query-string}
尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传 递它,所以在此单独强调。
● URI-scheme:表示用于传输请求的协议,当前所有API均采用HTTPS协议。
● Endpoint:指定承载REST服务端点的服务器域名或IP,不同服务不同区域的 Endpoint不同,您可以从1.3 终端节点中获取。例如IAM服务在“华北-北京一”
区域的Endpoint为“iam.cn-north-1.myhuaweicloud.com”。
● resource-path:资源路径,也即API访问路径。从具体API的URI模块获取,例如
“获取用户Token”API的resource-path为“/v3/auth/tokens”。
● query-string:查询参数,是可选部分,并不是每个API都有查询参数。查询参数 前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示 查询不超过10条数据。
例如,您需要获取IAM在“华北-北京一”区域的Token,则需使用“华北-北京一”区 域的Endpoint(iam.cn-north-1.myhuaweicloud.com),并在获取用户Token获取请 求认证的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。
https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
图3-1 URI 示意图
说明
为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。
这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分 省略。
请求方法
HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。
● GET:请求服务器返回指定资源。
● PUT:请求服务器更新指定资源。
● POST:请求服务器新增资源或执行特殊操作。
● DELETE:请求服务器删除指定资源,如删除对象等。
● HEAD:请求服务器资源头部。
● PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会
去创建一个新的资源。
在获取用户Token获取请求认证的URI部分,您可以看到其请求方法为“POST”,则 其请求为:
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
请求消息头
附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请 求头“Content-Type”,请求鉴权信息等。
如下公共消息头需要添加到请求中。
● Content-Type:消息体的类型(格式),必选,默认取值为“application/
json”,有其他取值时会在具体接口中专门说明。
● X-Auth-Token:用户Token,可选,当使用Token方式认证时,必须填充该字 段。用户Token也就是调用获取用户Token获取请求认证接口的响应值,该接口是 唯一不需要认证的接口。
说明
公有云API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会 自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求 头。
AK/SK认证的详细说明请参见认证鉴权。
● X-Project-ID:子项目ID,可选,在多项目场景中使用。
对于获取用户Token获取请求认证接口,由于不需要认证,所以只添加“Content- Type”即可,添加消息头后的请求如下所示。
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
请求消息体
请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求 消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。
每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消 息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根 据具体接口而定。
对于获取用户Token获取请求认证接口,您可以从接口的请求部分看到所需的请求参 数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填 写,其中
username
为用户名,domainname
为用户所属的帐号名称,********
为用户 登录密码,xxxxxxxxxx
为project的名称,如cn-north-1,您可以从1.3 终端节点中获 取。说明
scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可 以设置Token额作用域为某个帐号下所有资源或帐号的某个project下的资源,详细定义请参见获 取用户Token获取请求认证。
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
{ "auth": { "identity": { "methods": [ "password"
],
"password": { "user": {
"name": "username", "password": "********", "domain": {
"name": "domainname"
} } } }, "scope": { "project": {
"name": "xxxxxxxx"
} } } }
到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编 写代码等方式发送请求调用API。对于获取用户Token获取请求认证接口,返回的响应 消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以 使用Token认证调用其他API。
3.2 认证鉴权
调用接口有如下两种认证方式,您可以选择其中一种进行认证鉴权。
● Token认证:通过Token认证通用请求。
● AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。
Token 认证
说明
Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。
Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。
Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得 操作API的权限。
Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的 Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择 project,如下所示。
{ "auth": { "identity": { "methods": [ "password"
],
"password": { "user": {
"name": "username", "password": "********", "domain": {
"name": "domainname"
} } } }, "scope": { "project": {
"name": "xxxxxxxx"
} } } }
获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,
其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token:
ABCDEFJ....”加到请求消息头即可,如下所示。
GET https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json
X-Auth-Token: ABCDEFJ....
您还可以通过这个视频教程了解如何使用Token认证:https://
bbs.huaweicloud.com/videos/101333 。
AK/SK 认证
说明
AK/SK签名认证方式仅支持消息体大小12M以内,12M以上的请求请使用Token认证。
AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而 通过身份认证。
● AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥 ID和私有访问密钥一起使用,对请求进行加密签名。
● SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,
可标识发送方,并防止请求被修改。
使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门 的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。
须知
签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
3.3 返回结果
状态码
请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。
状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码 列表请参见状态码。
对于获取用户Token获取请求认证接口,如果调用后返回状态码为“201”,则表示请 求成功。
响应消息头
对应请求消息头,响应同样也有消息头,如“Content-type”。
对于获取用户Token获取请求认证接口,返回如图3-2所示的消息头,其中“x- subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认 证调用其他API。
图3-2 获取用户 Token 响应消息头
响应消息体
响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应 消息头之外的内容。
对于获取用户Token获取请求认证接口,返回如下消息体。为篇幅起见,这里只展示 部分内容。
{ "token": {
"expires_at": "2019-02-13T06:52:13.855000Z", "methods": [
"password"
],
"catalog": [ {
"endpoints": [ {
"region_id": "cn-north-1", ...
当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所 示。
{ "error_msg": "The format of message is error", "error_code": "AS.0001"
}
其中,error_code表示错误码,error_msg表示错误描述信息。
4 API
4.1 Scrum项目的工作项 4.2 Scrum项目的迭代 4.3 用户信息
4.4 项目成员 4.5 项目信息 4.6 项目指标 4.7 项目统计
4.1 Scrum 项目的工作项
4.1.1 创建工作项类型自定义字段
功能介绍
创建工作项类型自定义字段
调试
您可以在API Explorer中调试该接口。
URI
POST /v3/{project_id}/custom-fields
表4-1 路径参数
参数 是否必选 参数类型 描述
project_id 是 String devcloud的项目ID
请求参数
表4-2 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。 通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)。
表4-3 请求 Body 参数
参数 是否必选 参数类型 描述
name 是 String 字段名称
type 是 String 自定义字段类型 可选类型
textArea|select|radio|text|
checkbox|date|time_date|
number
options 是 String 字段选项
memo 是 String 描述
scrum_type 是 String 工作项类型
响应参数
状态码: 200
表4-4 响应 Body 参数
参数 参数类型 描述
options String 字段选项
region String 系统字段
id Integer 字段ID
参数 参数类型 描述 project_id Integer 项目ID tracker_id Integer 工作项类型id custom_field String 系统字段名
type String 字段类型
name String 字段名称
sort Integer 系统字段
memo String 字段描述
created String 创建时间 modified String 修改时间 is_delete Boolean 是否被删除
状态码: 400
表4-5 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
状态码: 401
表4-6 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
请求示例
Post https://{endpoint}/v3/0792b7d26cb74bd799cbae80063dc74a/custom-fields { "name" : "test",
"type" : "text", "memo" : "描述",
"options" : "0792b7d26cb74bd799cbae80063dc74a", "scrum_type" : "Story"
}
响应示例
无
状态码
状态码 描述
200 OK
400 Bad Request 401 Unauthorized
错误码
请参见错误码。
4.1.2 上传图片
功能介绍
上传图片
调试
您可以在API Explorer中调试该接口。
URI
POST /v2/{project_id}/img
表4-7 路径参数
参数 是否必选 参数类型 描述
project_id 是 String devcloud的项目ID
请求参数
表4-8 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。 通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)。
表4-9 FormData 参数
参数 是否必选 参数类型 描述
file 是 File 图片文件
响应参数
状态码: 200
表4-10 响应 Body 参数
参数 参数类型 描述
img_id String 图片id
img_url String 图片url v1改成v3作为下载图片请求
状态码: 400
表4-11 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
状态码: 401
表4-12 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
请求示例
Post https://{endpoint}/v2/99be3c6242d74ad180292a689f95d666/img Post https://{endpoint}/v2/99be3c6242d74ad180292a689f95d666/img
响应示例
无
状态码
状态码 描述
200 OK
400 Bad Request 401 Unauthorized
错误码
请参见错误码。
4.1.3 获取工作项完成率
功能介绍
获取工作项的完成率
调试
您可以在API Explorer中调试该接口。
URI
GET /v4/projects/{project_id}/issue-completion-rate
表4-13 路径参数
参数 是否必选 参数类型 描述
project_id 是 String devcloud的项目id 最小长度:32 最大长度:32
正则匹配:^[0-9a-z]{32}$
请求参数
表4-14 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。 通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)。
最小长度:10 最大长度:32768
响应参数
状态码: 200
表4-15 响应 Body 参数
参数 参数类型 描述
issue_complet
ion_rates Array of issue_comple tion_rates objects
不同类型的工作项完成率
total Integer 总数
表4-16 issue_completion_rates
参数 参数类型 描述
issue_status issue_status
object 工作项不同状态下的数量
tracker_id Integer 工作项类型id,1需求,2任务/task,3缺陷/bug,5epic, 6feature,7story
表4-17 issue_status
参数 参数类型 描述
closed_num Integer 已关闭的工作项 new_num Integer 新建的工作项 process_num Integer 进行中的工作项数目 rejected_num Integer 已经拒绝的工作项
参数 参数类型 描述
solved_num Integer 已经解决的工作项 test_num Integer 测试中的工作项
状态码: 400
表4-18 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
状态码: 401
表4-19 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
请求示例
GET https://{endpoint}/v4/projects/e2da96a5d2c845e284f0ad47f8ca8cb1/issue-completion-rate GET https://{endpoint}/v4/projects/e2da96a5d2c845e284f0ad47f8ca8cb1/issue-completion-rate
响应示例
无
状态码
状态码 描述
200 OK
400 Bad Request 401 Unauthorized
错误码
请参见错误码。
4.1.4 获取指定工作项的评论列表
功能介绍
获取工作项的评论
调试
您可以在API Explorer中调试该接口。
URI
GET /v4/projects/{project_id}/issues/{issue_id}/comments
表4-20 路径参数
参数 是否必选 参数类型 描述
project_id 是 String devcloud的项目id 最小长度:32 最大长度:32
正则匹配:^[0-9a-z]{32}$
issue_id 是 Integer 工作项id
表4-21 Query 参数
参数 是否必选 参数类型 描述
offset 否 Integer 分页索引,偏移量
最小值:0 缺省值:0
limit 否 Integer 每页显示的条数,最大显示100条
最小值:1 最大值:100 缺省值:10
请求参数
表4-22 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。 通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)。
最小长度:10 最大长度:32768
响应参数
状态码: 200
表4-23 响应 Body 参数
参数 参数类型 描述
total Integer 评论总数
comments Array of IssueComme ntV4 objects
品论列表
表4-24 IssueCommentV4
参数 参数类型 描述
comment String 评论内容
id Integer 评论id
created_time String 评论时间
user CommentUse
rV4 object
表4-25 CommentUserV4
参数 参数类型 描述
user_num_id Integer 发表评论用户id user_name String 发表评论用户名称 nick_name String 发表评论用户昵称
状态码: 400
表4-26 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
状态码: 401
表4-27 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
请求示例
Get https://{endpoint}/v4/projects/e2da96a5d2c845e284f0ad47f8ca8cb1/issues/1232495/comments Get https://{endpoint}/v4/projects/e2da96a5d2c845e284f0ad47f8ca8cb1/issues/1232495/comments
响应示例
无
状态码
状态码 描述
200 OK
400 Bad Request 401 Unauthorized
错误码
请参见错误码。
4.1.5 按用户查询工时(单项目)
功能介绍
按用户查询工时(单项目)
调试
您可以在API Explorer中调试该接口。
URI
POST /v4/projects/{project_id}/work-hours
表4-28 路径参数
参数 是否必选 参数类型 描述
project_id 是 String devcloud的项目id 最小长度:32 最大长度:32
正则匹配:^[0-9a-z]{32}$
请求参数
表4-29 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。 通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)。
最小长度:10 最大长度:32768
表4-30 请求 Body 参数
参数 是否必选 参数类型 描述
user_ids 否 Array of
strings 查询的用户id列表 work_hours_t
ypes 否 String 工时类型,以逗号分隔,21:研发
设计,22:后端开发,23:前端开发 (Web),24:前端开发(小程序),25:
前端开发(App),26:测试验证,27:
缺陷修复,28:UI设计,29:会议,30:
公共事务,31:培训,32:研究,33:其 它,34:调休请假
work_hours_d 否 String 工时日期,以逗号分隔,年-月-
参数 是否必选 参数类型 描述
begin_time 否 String 工时开始日期,年-月-日 正则匹配:[0-9]{4}-[0-9]{1,2}- [0-9]{1,2}
end_time 否 String 工时结束日期,年-月-日
正则匹配:[0-9]{4}-[0-9]{1,2}- [0-9]{1,2}
offset 是 Integer 偏移量,offset是limit的整数倍,
limit=10,offset=0,10,20...
最小值:0 缺省值:0
limit 是 Integer 每页显示数量,每页最多显示
100条 最小值:1 最大值:100 缺省值:10
响应参数
状态码: 200
表4-31 响应 Body 参数
参数 参数类型 描述
work_hours Array of work_hours objects
工时列表
total Integer 总数
表4-32 work_hours
参数 参数类型 描述
project_name String 项目名称 nick_name String 用户昵称 user_name String 用户名 work_date String 工时日期 work_hours_n
um String 工时花费
参数 参数类型 描述 summary String 工时内容 work_hours_t
ype_name String 工时类型 issue_id Integer 工作项id issue_type String 工作项类型 subject String 工作项标题 created_time String 工作项创建时间 closed_time String 工作项结束时间
状态码: 400
表4-33 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
状态码: 401
表4-34 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
请求示例
Post https://{endpoint}/v4/projects/e2da96a5d2c845e284f0ad47f8ca8cb2/work-hours { "limit" : 1,
"offset" : 0,
"end_time" : "2020-08-14"
}
响应示例
状态码
状态码 描述
200 ok
400 Bad Request 401 Unauthorized
错误码
请参见错误码。
4.1.6 按用户查询工时(多项目)
功能介绍
按用户查询工时(多项目)
调试
您可以在API Explorer中调试该接口。
URI
POST /v4/projects/work-hours
请求参数
表4-35 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。 通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)。
最小长度:10 最大长度:32768
表4-36 请求 Body 参数
参数 是否必选 参数类型 描述
project_ids 否 Array of
strings 查询的项目id列表
参数 是否必选 参数类型 描述 user_ids 否 Array of
strings 查询的用户id列表 work_hours_t
ypes 否 String 工时类型,以逗号分隔,21:研发
设计,22:后端开发,23:前端开发 (Web),24:前端开发(小程序),25:
前端开发(App),26:测试验证,27:
缺陷修复,28:UI设计,29:会议,30:
公共事务,31:培训,32:研究,33:其 它,34:调休请假
work_hours_d
ates 否 String 工时日期,以逗号分隔,年-月-
日
begin_time 否 String 工时开始日期,年-月-日
end_time 否 String 工时结束日期,年-月-日
offset 是 Integer 偏移量,offset是limit的整数倍,
limit=10,offset=0,10,20...
最小值:0
limit 是 Integer 每页显示数量,每页最多显示
100条 最小值:1 最大值:100
响应参数
状态码: 200
表4-37 响应 Body 参数
参数 参数类型 描述
work_hours Array of work_hours objects
工时列表
total Integer 总数
表4-38 work_hours
参数 参数类型 描述
project_name String 项目名称
参数 参数类型 描述 user_name String 用户名 work_date String 工时日期 work_hours_n
um String 工时花费
summary String 工时内容 work_hours_t
ype_name String 工时类型 issue_id Integer 工作项id issue_type String 工作项类型 subject String 工作项标题 created_time String 工作项创建时间 closed_time String 工作项结束时间
状态码: 400
表4-39 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
状态码: 401
表4-40 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
请求示例
Post https://{endpoint}/v4/projects/work-hours { "limit" : 1,
"offset" : 0,
"end_time" : "2020-08-14",
"project_ids" : [ "e2da96a5d2c845e284f0ad47f8ca8cb2", "a2da96a5d2c845e284f0ad47f8ca8cef" ] }
响应示例
无
状态码
状态码 描述
200 ok
400 Bad Request 401 Unauthorized
错误码
请参见错误码。
4.1.7 获取工作项历史记录
功能介绍
获取工作项历史记录
调试
您可以在API Explorer中调试该接口。
URI
GET /v4/projects/{project_id}/issue/{issue_id}/records
表4-41 路径参数
参数 是否必选 参数类型 描述
project_id 是 String devcloud的项目id 最小长度:32 最大长度:32
正则匹配:^[0-9a-z]{32}$
issue_id 是 Integer 工作项id
正则匹配:[0-9]+
表4-42 Query 参数
参数 是否必选 参数类型 描述
offset 否 Integer 分页索引,偏移量,offset是limit 的整数倍,
limit=10,offset=0,10,20...
最小值:0 缺省值:0
limit 否 Integer 每页显示的数量,每页最多显示
100条 最小值:1 最大值:1000 缺省值:10
请求参数
表4-43 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。 通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)。
最小长度:10 最大长度:32768
响应参数
状态码: 200
表4-44 响应 Body 参数
参数 参数类型 描述
id Integer 操作记录id (已废弃) created_time Long 创建时间 (已废弃)
正则匹配:^[0-9]{0-13}$
records Array of IssueRecordV 4 objects
历史记录
total Integer 操作记录总数
表4-45 IssueRecordV4
参数 参数类型 描述
id Integer 操作记录id
created_time Long 操作记录创建时间
user user object 工作项操作的用户
details Array of details objects
操作的记录
表4-46 user
参数 参数类型 描述
user_num_id Integer 用户数字id user_name String 登录名 nick_name String 昵称
user_id String 用户32位的uuid
表4-47 details
参数 参数类型 描述
property String 操作属性 old_value String 上次的记录 new_value String 当前值 operation String 操作
id Integer 操作记录的id
name String 操作的字段
状态码: 400
表4-48 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
状态码: 401
表4-49 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
请求示例
Get https://{endpoint}/v4/projects/e2da96a5d2c845e284f0ad47f8ca8cb1/issue/3458/records Get https://{endpoint}/v4/projects/e2da96a5d2c845e284f0ad47f8ca8cb1/issue/3458/records
响应示例
无
状态码
状态码 描述
200 OK
400 Bad Request 401 Unauthorized
错误码
请参见错误码。
4.1.8 创建工作项
功能介绍
创建工作项
调试
您可以在API Explorer中调试该接口。
URI
POST /v4/projects/{project_id}/issue
表4-50 路径参数
参数 是否必选 参数类型 描述
project_id 是 String devcloud的项目id 最小长度:32 最大长度:32
正则匹配:^[0-9a-z]{32}$
请求参数
表4-51 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。 通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)。
最小长度:10 最大长度:32768
表4-52 请求 Body 参数
参数 是否必选 参数类型 描述
actual_work_
hours 否 Double 实际工时
assigned_id 否 Integer 处理人id,对应用户信息的数字id begin_time 否 String 开始时间,年-月-日
description 否 String 描述信息
developer_id 否 Integer 开发者id,对应用户信息的数字id domain_id 否 Integer id 领域, 14 '性能', 15 '功能', 16
'可靠性' 17 '网络安全' 18 '可维 护性' 19 '其他DFX' 20 '可用性'
done_ratio 否 Integer 工作项进度值
end_time 否 String 结束时间,年-月-日
expected_wor
k_hours 否 Double 预计工时
iteration_id 否 Integer 迭代id
参数 是否必选 参数类型 描述
name 是 String 标题
parent_issue_i
d 否 Integer 父工作项的id,创建子工作项时必
填,父工作项的类型tracker_id 不能为2,3
priority_id 是 Integer 优先级, 1 低, 2 中, 3 高, severity_id 否 Integer 重要程度, 10 关键, 11 重要, 12
一般, 13 提示,
status_id 否 Integer 状态 id, 开始 1, 进行中 2, 已解 决 3, 测试中 4, 已关闭 5, 已拒 绝 6,
tracker_id 是 Integer 工作项类型, 2任务/task,3缺陷/
bug,5epic,6feature,7story; 5 只 能为 6 的父工作项类型; 6 只能 为 7 的父工作项类型; 7 只能为 2,3的父;
响应参数
状态码: 200
表4-53 响应 Body 参数
参数 参数类型 描述
actual_work_
hours Double 实际工时
assigned_cc_u
ser Array of IssueUser objects
抄送人
assigned_user IssueUser object
begin_time String 开始时间,年-月-日 creator IssueUser
object custom_fields Array of
CustomField objects
自定义属性值
developer IssueUser object
参数 参数类型 描述 domain domain
object id 领域, 14 '性能', 15 '功能', 16 '可靠性', 17 '网络 安全', 18 '可维护性', 19 '其他DFX', 20 '可用性', done_ratio Integer 工作项进度值
end_time String 结束时间,年-月-日 expected_wor
k_hours Double 预计工时
id Integer 工作项项id
project IssueProjectR esponseV4 object
项目信息
iteration iteration
object 迭代
module module
object 模块
parent_issue parent_issue
object 父工作项 priority priority
object 工作项优先级 severity severity
object 工作项重要程度 status status object 工作项状态 tracker tracker object 工作项类型
表4-54 IssueUser
参数 参数类型 描述
id Integer 用户id
name String 用户名
nick_name String 昵称
表4-55 CustomField
参数 参数类型 描述
name String 自定义属性名
表4-56 domain
参数 参数类型 描述
id Integer 领域id
name String 领域
表4-57 IssueProjectResponseV4
参数 参数类型 描述
project_id String 项目id project_name String 项目名称 project_num_i
d Integer 项目数字id
表4-58 iteration
参数 参数类型 描述
id Integer 迭代id
name String 迭代名
表4-59 module
参数 参数类型 描述
id Integer 模块id
name String 模块
表4-60 parent_issue
参数 参数类型 描述
id Integer 父工作项id
name String 父工作项
表4-61 priority
参数 参数类型 描述
id Integer 优先级id
name String 优先级
表4-62 severity
参数 参数类型 描述
id Integer 重要程度id
name String 重要程度
表4-63 status
参数 参数类型 描述
id Integer 状态id
name String 状态名称
表4-64 tracker
参数 参数类型 描述
id Integer 类型id
name String 类型名称
状态码: 400
表4-65 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
状态码: 401
表4-66 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
请求示例
POST https://{endpoint}/v4/projects/526cefde62004de2b62b5e8dd2c2b3af/issue { "parent_issue_id" : 1679822,
"end_time" : "2018-07-05", "name" : "test",
"begin_time" : "2018-1-31", "description" : "",
"assigned_id" : 4091, "developer_id" : 4091, "tracker_id" : 3, "status_id" : 1, "priority_id" : 2, "severity_id" : 10, "iteration_id" : 11302238 }
响应示例
无
状态码
状态码 描述
200 OK
400 Bad Request 401 Unauthorized
错误码
请参见错误码。
4.1.9 高级查询工作项
功能介绍
根据筛选条件查询工作项
调试
您可以在API Explorer中调试该接口。
URI
POST /v4/projects/{project_id}/issues
表4-67 路径参数
参数 是否必选 参数类型 描述
project_id 是 String devcloud的项目id 最小长度:32 最大长度:32
正则匹配:^[0-9a-z]{32}$
请求参数
表4-68 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。 通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)。
最小长度:10 最大长度:32768
表4-69 请求 Body 参数
参数 是否必选 参数类型 描述
assigned_ids 否 Array of
integers 处理人id creator_ids 否 Array of
integers 创建者id developer_ids 否 Array of
integers 开发人id,对应用户信息的数字id domain_ids 否 Array of
integers id, 领域, 14 '性能', 15 '功能', 16 '可靠性', 17 '网络安全', 18 '可维 护性', 19 '其他DFX', 20 '可用性 ',
done_ratios 否 Array of
integers 完成度 iteration_ids 否 Array of 迭代id
参数 是否必选 参数类型 描述
limit 否 Integer 每页显示数量
最小值:1 最大值:100
offset 否 Integer 分页索引,偏移量,offset是
limit的整数倍数,
limit=10,offset=0,10,20...
最小值:0 module_ids 否 Array of
integers 模块id priority_ids 否 Array of
integers 优先级
query_type 否 String 查询类型 backlog feature epic severity_ids 否 Array of
integers 查询类型 status_ids 否 Array of
integers 状态 id, 开始 1, 进行中 2, 已解 决 3, 测试中 4, 已关闭 5, 已拒 绝 6,
story_point_id
s 否 Array of
integers 故事点id tracker_ids 否 Array of
integers 工作项类型,2任务/task,3缺陷/
bug,5epic,6feature,7story include_delete
d 否 Boolean true 查询的工作项包含已经逻
辑删除的,false 查询的工作项 不包含已经删除的
updated_time
_interval 否 String 根据工作项的更新时间查询工作
项,(查询的起始时间,查询的结 束时间)
响应参数
状态码: 200
表4-70 响应 Body 参数
参数 参数类型 描述
issues Array of ListIssueItem Response objects
工作项列表
参数 参数类型 描述
total Integer 总数
表4-71 ListIssueItemResponse
参数 参数类型 描述
actual_work_
hours Double 实际工时
assigned_cc_u
ser Array of IssueUser objects
抄送人
assigned_user IssueUser object
begin_time String 预计开始时间,年-月-日 created_time String 创建时间 年-月-日 时:分:秒 creator IssueUser
object custom_fields Array of
CustomField objects
自定义属性值
developer IssueUser object domain domain
object id, 领域 14, '性能', 15, '功能', 16, '可靠性' 17, '网 络安全' 18, '可维护性' 19, '其他DFX' 20, '可用性' done_ratio Integer 工作项进度值
end_time String 预计结束时间,年-月-日 expected_wor
k_hours Double 预计工时
id Integer 工作项项id
project IssueProjectR esponseV4 object
项目信息
iteration iteration
object 迭代
module module
object 模块
name String 标题
参数 参数类型 描述 parent_issue parent_issue
object 父工作项 priority priority
object 工作项优先级 severity severity
object 工作项重要程度 status status object 工作项状态 tracker tracker object 工作项类型
updated_time String 更新时间 年-月-日 时:分:秒 closed_time String 关闭时间 年-月-日 时:分:秒
deleted Boolean 是否已经删除,true 已经删除, false 未删除
表4-72 IssueUser
参数 参数类型 描述
id Integer 用户id
name String 用户名
nick_name String 昵称
表4-73 CustomField
参数 参数类型 描述
name String 自定义属性名
value String 自定义属性对应的值
表4-74 domain
参数 参数类型 描述
id Integer 领域id
name String 领域
表4-75 IssueProjectResponseV4
参数 参数类型 描述
project_id String 项目id project_name String 项目名称 project_num_i
d Integer 项目数字id
表4-76 iteration
参数 参数类型 描述
id Integer 迭代id
name String 迭代名
表4-77 module
参数 参数类型 描述
id Integer 模块id
name String 模块
表4-78 parent_issue
参数 参数类型 描述
id Integer 父工作项id
name String 父工作项
表4-79 priority
参数 参数类型 描述
id Integer 优先级id
name String 优先级
表4-80 severity
参数 参数类型 描述
id Integer 重要程度id
name String 重要程度
表4-81 status
参数 参数类型 描述
id Integer 状态id
name String 状态名称
表4-82 tracker
参数 参数类型 描述
id Integer 类型id
name String 类型名称
状态码: 400
表4-83 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
状态码: 401
表4-84 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
请求示例
POST https://{endpoint}/v4/projects/526cefde62004de2b62b5e8dd2c2b3af/issues
{ "status_ids" : [ 1 ] }
响应示例
无
状态码
状态码 描述
200 OK
400 Bad Request 401 Unauthorized
错误码
请参见错误码。
4.1.10 批量删除工作项
功能介绍
批量删除工作项
调试
您可以在API Explorer中调试该接口。
URI
DELETE /v4/projects/{project_id}/issues
表4-85 路径参数
参数 是否必选 参数类型 描述
project_id 是 String devcloud的项目id 最小长度:32 最大长度:32
正则匹配:^[0-9a-z]{32}$
请求参数
表4-86 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。 通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)。
最小长度:10 最大长度:32768
表4-87 请求 Body 参数
参数 是否必选 参数类型 描述
issue_ids 是 Array of
integers 工作项的id
响应参数
状态码: 400
表4-88 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
状态码: 401
表4-89 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
请求示例
DELETE https://{endpoint}/v4/projects/526cefde62004de2b62b5e8dd2c2b3af/issues {
"issue_ids" : [ 1660084, 1660085 ] }
响应示例
无
状态码
状态码 描述
204 No Content 400 Bad Request 401 Unauthorized
错误码
请参见错误码。
4.1.11 查询工作项详情
功能介绍
查询工作项详情
调试
您可以在API Explorer中调试该接口。
URI
GET /v4/projects/{project_id}/issues/{issue_id}
表4-90 路径参数
参数 是否必选 参数类型 描述
project_id 是 String devcloud的项目id 最小长度:32 最大长度:32
正则匹配:^[0-9a-z]{32}$
issue_id 是 Integer 工作项id
请求参数
表4-91 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。 通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)。
最小长度:10 最大长度:32768
响应参数
状态码: 200
表4-92 响应 Body 参数
参数 参数类型 描述
actual_work_
hours Double 实际工时
assigned_cc_u
ser Array of IssueUser objects
抄送人
assigned_user IssueUser object
begin_time String 预计开始时间,年-月-日 created_time String 创建时间 年-月-日 时:分:秒 creator IssueUser
object custom_fields Array of
CustomField objects
自定义属性值
developer IssueUser object domain domain
object id, 领域 14, '性能', 15, '功能', 16, '可靠性' 17, '网 络安全' 18, '可维护性' 19, '其他DFX' 20, '可用性' done_ratio Integer 工作项进度值
end_time String 预计结束时间,年-月-日 expected_wor
k_hours Double 预计工时
参数 参数类型 描述
id Integer 工作项项id
project IssueProjectR esponseV4 object
项目信息
iteration iteration
object 迭代
module module
object 模块
name String 标题
parent_issue parent_issue
object 父工作项 priority priority
object 工作项优先级 severity severity
object 工作项重要程度 status status object 工作项状态 tracker tracker object 工作项类型
updated_time String 更新时间 年-月-日 时:分:秒 closed_time String 关闭时间 年-月-日 时:分:秒 description String 工作项描述
order IssueOrder object accessories Array of
IssueAccessor y objects
附近列表
表4-93 IssueUser
参数 参数类型 描述
id Integer 用户id
name String 用户名
nick_name String 昵称
表4-94 CustomField
参数 参数类型 描述
name String 自定义属性名
value String 自定义属性对应的值
表4-95 domain
参数 参数类型 描述
id Integer 领域id
name String 领域
表4-96 IssueProjectResponseV4
参数 参数类型 描述
project_id String 项目id project_name String 项目名称 project_num_i
d Integer 项目数字id
表4-97 iteration
参数 参数类型 描述
id Integer 迭代id
name String 迭代名
表4-98 module
参数 参数类型 描述
id Integer 模块id
name String 模块
表4-99 parent_issue
参数 参数类型 描述
id Integer 父工作项id
name String 父工作项
表4-100 priority
参数 参数类型 描述
id Integer 优先级id
name String 优先级
表4-101 severity
参数 参数类型 描述
id Integer 重要程度id
name String 重要程度
表4-102 status
参数 参数类型 描述
id Integer 状态id
name String 状态名称
表4-103 tracker
参数 参数类型 描述
id Integer 类型id
name String 类型名称
表4-104 IssueOrder
参数 参数类型 描述
id Integer 顺序id
name String 顺序值
表4-105 IssueAccessory
参数 参数类型 描述
attachment_i
d Integer 附件id
issue_id Integer 工作鞋ID creator_num_i
d Integer 创建者数字ID
created_date String 附件创建时间 file_name String 上传时文件名 container_typ
e String 附件id
disk_file_nam
e String 附件名称
digest String 附件id disk_directory String 附件路径 creator_id String 创建这用户uuid
状态码: 400
表4-106 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
状态码: 401
表4-107 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
请求示例
GET https://{endpoint}/v4/projects/526cefde62004de2b62b5e8dd2c2b3af/issues/4568921 GET https://{endpoint}/v4/projects/526cefde62004de2b62b5e8dd2c2b3af/issues/4568921
响应示例
无
状态码
状态码 描述
200 OK
400 Bad Request 401 Unauthorized
错误码
请参见错误码。
4.1.12 更新工作项
功能介绍
更新工作项
调试
您可以在API Explorer中调试该接口。
URI
PUT /v4/projects/{project_id}/issues/{issue_id}
表4-108 路径参数
参数 是否必选 参数类型 描述
project_id 是 String devcloud的项目id 最小长度:32 最大长度:32
正则匹配:^[0-9a-z]{32}$
issue_id 是 Integer 工作项id
请求参数
表4-109 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。 通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)。
最小长度:10 最大长度:32768
表4-110 请求 Body 参数
参数 是否必选 参数类型 描述
actual_work_
hours 否 Double 实际工时
assigned_id 否 Integer 处理人id,对应用户信息的数字id begin_time 否 String 开始时间,年-月-日
description 否 String 描述信息
developer_id 否 Integer 开发者id,对应用户信息的数字id
domain_id 否 Integer 领域id
done_ratio 否 Integer 工作项进度值
end_time 否 String 结束时间,年-月-日
expected_wor
k_hours 否 Double 预计工时
iteration_id 否 Integer 迭代id
module_id 否 Integer 模块id
name 否 String 标题
parent_issue_i
d 否 Integer 父工作项的id
priority_id 否 Integer 优先级, 1 低, 2 中, 3 高, severity_id 否 Integer 重要程度, 10 关键, 11 重要, 12
一般, 13 提示,
status_id 否 Integer 状态 id, 开始 1, 进行中 2, 已解 决 3, 测试中 4, 已关闭 5, 已解 决 6,
参数 是否必选 参数类型 描述
tracker_id 否 Integer 工作项类型,2任务/task,3缺陷/
bug,5epic,6feature,7story
响应参数
状态码: 200
表4-111 响应 Body 参数
参数 参数类型 描述
actual_work_
hours Double 实际工时
assigned_cc_u
ser Array of IssueUser objects
抄送人
assigned_user IssueUser object
begin_time String 预计开始时间,年-月-日 created_time String 创建时间 年-月-日 时:分:秒 creator IssueUser
object custom_fields Array of
CustomField objects
自定义属性值
developer IssueUser object domain domain
object id, 领域 14, '性能', 15, '功能', 16, '可靠性' 17, '网 络安全' 18, '可维护性' 19, '其他DFX' 20, '可用性' done_ratio Integer 工作项进度值
end_time String 预计结束时间,年-月-日 expected_wor
k_hours Double 预计工时
id Integer 工作项项id
project IssueProjectR esponseV4 object
项目信息
iteration iteration 迭代
参数 参数类型 描述 module module
object 模块
name String 标题
parent_issue parent_issue
object 父工作项 priority priority
object 工作项优先级 severity severity
object 工作项重要程度 status status object 工作项状态 tracker tracker object 工作项类型
updated_time String 更新时间 年-月-日 时:分:秒 closed_time String 关闭时间 年-月-日 时:分:秒
表4-112 IssueUser
参数 参数类型 描述
id Integer 用户id
name String 用户名
nick_name String 昵称
表4-113 CustomField
参数 参数类型 描述
name String 自定义属性名
value String 自定义属性对应的值
表4-114 domain
参数 参数类型 描述
id Integer 领域id
name String 领域
表4-115 IssueProjectResponseV4
参数 参数类型 描述
project_id String 项目id project_name String 项目名称 project_num_i
d Integer 项目数字id
表4-116 iteration
参数 参数类型 描述
id Integer 迭代id
name String 迭代名
表4-117 module
参数 参数类型 描述
id Integer 模块id
name String 模块
表4-118 parent_issue
参数 参数类型 描述
id Integer 父工作项id
name String 父工作项
表4-119 priority
参数 参数类型 描述
id Integer 优先级id
name String 优先级
表4-120 severity
参数 参数类型 描述
id Integer 重要程度id
name String 重要程度
表4-121 status
参数 参数类型 描述
id Integer 状态id
name String 状态名称
表4-122 tracker
参数 参数类型 描述
id Integer 类型id
name String 类型名称
状态码: 400
表4-123 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
状态码: 401
表4-124 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
请求示例
PUT https://{endpoint}/v4/projects/526cefde62004de2b62b5e8dd2c2b3af/issues/4568921
{ "status_id" : 2 }
响应示例
无
状态码
状态码 描述
200 OK
400 Bad Request 401 Unauthorized
错误码
请参见错误码。
4.1.13 删除工作项
功能介绍
删除工作项
调试
您可以在API Explorer中调试该接口。
URI
DELETE /v4/projects/{project_id}/issues/{issue_id}
表4-125 路径参数
参数 是否必选 参数类型 描述
project_id 是 String devcloud的项目id 最小长度:32 最大长度:32
正则匹配:^[0-9a-z]{32}$
issue_id 是 Integer 工作项id
请求参数
表4-126 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。 通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)。
最小长度:10 最大长度:32768
响应参数
状态码: 400
表4-127 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
状态码: 401
表4-128 响应 Body 参数
参数 参数类型 描述
error_msg String 错误描述 error_code String 错误码
请求示例
DELETE https://{endpoint}/v4/projects/526cefde62004de2b62b5e8dd2c2b3af/issues/4568921 DELETE https://{endpoint}/v4/projects/526cefde62004de2b62b5e8dd2c2b3af/issues/4568921
响应示例
无
状态码
状态码 描述
204 No Content 400 Bad Request 401 Unauthorized
错误码
请参见错误码。
4.1.14 获取子工作项
功能介绍
获取子工作项
调试
您可以在API Explorer中调试该接口。
URI
GET /v4/projects/{project_id}/issues/{issue_id}/child
表4-129 路径参数
参数 是否必选 参数类型 描述
project_id 是 String devcloud的项目id 最小长度:32 最大长度:32
正则匹配:^[0-9a-z]{32}$
issue_id 是 Integer 工作项id