华为云CodeArts Req需求管理服务对接与集成完全指南
引言:为什么需要对接CodeArts Req
在软件研发的数字化转型浪潮中,需求管理工具已经成为研发团队不可或缺的基础设施。华为云CodeArts Req作为华为多年研发实践沉淀的需求管理与团队协作服务,正被越来越多的企业采用。然而,仅仅使用CodeArts Req本身并不足以构建完整的研发效能体系——真正的价值在于将其与企业现有的工具链、工作流和业务系统深度集成。
无论是将CodeArts Req与Jira进行数据双向同步,还是通过API将需求信息自动同步到企业内部的项目管理看板,抑或是利用Webhook将工作项变更实时推送到飞书或钉钉群聊,对接集成的需求无处不在。本文将系统性地讲解华为云CodeArts Req的四种主流对接方式,并提供可直接运行的代码示例和操作指南。
需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联
第一章 CodeArts Req产品速览
1.1 什么是CodeArts Req
CodeArts Req(原ProjectMan)是华为云软件开发生产线CodeArts的核心服务之一。它不仅仅是传统意义上的需求管理工具,更是一个涵盖多项目管理、敏捷迭代、需求管理、缺陷跟踪、文档管理、自定义报表等功能的综合性团队协作平台。
CodeArts Req内置了多种开箱即用的场景化需求模型和对象类型,包括需求、缺陷、任务等。它支持IPD(集成产品开发)、DevOps、精益看板等多种研发模式,能够适配从大型复杂产品规模化研发到敏捷互联网应用开发等多样化的业务场景。
1.2 核心功能特性
- 多项目管理与项目群管理:支持将多个相互关联的项目置于同一项目群中统一跟踪管理,实现跨项目的大规模高效协同。
- 需求规划与分解:提供从Epic(史诗)到Feature(特性)再到Story(用户故事)的四层需求分解模型,支持思维导图方式进行可视化的需求规划。
- 迭代管理:支持敏捷迭代(Sprint)的完整生命周期管理,包括迭代规划、进度跟踪和回顾分析。
- 端到端可追溯:打通需求开发过程中产生的设计文档、代码、用例、缺陷等数据孤岛,形成全方位的追溯关系网。
- 基线与变更管理:提供基线评审和变更管理能力,实现需求基线-受控变更-变更评审的过程化管理。
- 多维度统计报表:提供管理者看板、项目仪表盘、自定义统计分析等数据透视能力。
- 丰富的自定义能力:支持字段、状态、角色权限、消息通知、模板等维度的灵活自定义。
1.3 预置项目模板
CodeArts Req预置了五种项目模板,用户可以根据团队规模和业务场景灵活选择:
- Scrum项目模板:秉承敏捷Scrum方法论,适用于敏捷开发团队。
- 看板项目模板:采用卡片式交互,适用于轻量、简单管理的软件开发团队。
- IPD-系统设备类模板:面向通信设备、汽车等系统设备类产品开发场景。
- IPD-独立软件类模板:面向ERP、网管软件等独立软件开发场景。
- IPD-自运营软件/云服务类模板:面向云服务软件类开发场景。
第二章 CodeArts Req对接方式全景概览
华为云CodeArts Req提供了四种主流的对接方式,分别适用于不同的集成场景和用户角色:
| 对接方式 | 适用场景 | 技术门槛 | 灵活性 |
|---|---|---|---|
| REST API | 自定义开发、深度集成 | 较高 | 最高 |
| SDK(Python/Java/Go等) | 编程语言原生调用 | 中等 | 高 |
| ROMA Connect连接器 | 低代码集成、可视化编排 | 较低 | 中等 |
| CodeArts Link | 预置模板、开箱即用 | 最低 | 中等 |
接下来我们将逐一深入讲解每种对接方式的详细操作步骤和代码实现。
第三章 REST API对接:最灵活的集成方式
3.1 API调用基础
CodeArts Req提供了完整的RESTful API,用户可以通过HTTP请求对需求管理服务进行各类操作,包括创建项目、管理工作项、查询迭代等。API调用的基础流程如下:
- 获取IAM用户的Token作为认证凭证
- 构造符合规范的HTTP请求
- 调用目标API接口
- 解析返回的JSON响应数据
3.2 认证与鉴权
调用CodeArts Req API首先需要进行身份认证。华为云采用IAM(统一身份认证)服务进行用户认证,调用者需要先通过IAM接口获取Token。Token需要在HTTP请求的Header中携带,格式为:X-Auth-Token: {token_value}。
获取Token的请求示例如下:
POST https://iam.myhuaweicloud.com/v3/auth/tokens
Content-Type: application/json
{
"auth": {
"identity": {
"methods": ["password"],
"password": {
"user": {
"name": "your_username",
"password": "your_password",
"domain": {
"name": "your_domain_name"
}
}
}
},
"scope": {
"project": {
"name": "cn-north-4"
}
}
}
}3.3 查询指定项目下的迭代列表
获取Token后,就可以调用CodeArts Req的业务API了。以查询指定项目下的迭代列表为例,API的详细信息如下:
- 请求URI:
GET /v4/projects/{project_id}/iterations - 请求方法:GET
- 路径参数:
project_id为项目的唯一标识
完整的curl调用示例:
curl -X GET \
'https://projectman.myhuaweicloud.com/v4/projects/3cea7d4d77134eee8251825918a8bd7a/iterations' \
-H 'Content-Type: application/json' \
-H 'X-Auth-Token: {your_token}'成功响应示例:
{
"iterations": [
{
"id": 707961817,
"name": "迭代1",
"description": "",
"begin_time": "2020/06/07",
"end_time": "2020/07/06"
},
{
"id": 707961818,
"name": "迭代2",
"description": "",
"begin_time": "2020/07/07",
"end_time": "2020/08/06"
}
],
"total": 3
}3.4 创建工作项
创建工作项是需求管理中最常见的操作之一。通过API可以批量或单个创建需求、任务、缺陷等工作项。
POST https://projectman.myhuaweicloud.com/v4/projects/{project_id}/work-items
Content-Type: application/json
X-Auth-Token: {your_token}
{
"tracker_id": 2,
"subject": "用户登录功能优化",
"description": "优化用户登录页面的响应速度和用户体验",
"priority": "高",
"severity": "主要",
"assigned_to": "user_id_or_name",
"begin_time": "2026-07-10",
"end_time": "2026-07-20"
}CodeArts Req API支持的操作非常丰富,涵盖了项目管理的方方面面,包括但不限于:
- 项目相关:创建项目、查询项目列表、获取项目详情、更新项目、删除项目
- 迭代相关:创建迭代、更新迭代、删除迭代、查询迭代列表
- 工作项相关:创建工作项、查询工作项、更新工作项、删除工作项、高级查询
- 成员相关:添加项目成员、查询成员列表、更新成员角色、批量删除成员
- 统计相关:获取项目概览、需求统计信息、Bug统计信息、缺陷密度、人均Bug
- 模块与领域:创建/更新/删除项目的模块和领域
第四章 SDK编程接入:更优雅的代码调用
4.1 Python SDK示例
华为云为开发者提供了多语言的SDK,封装了API调用的底层细节,让开发者可以用更优雅的方式集成CodeArts Req。以下是使用Python SDK调用CodeArts Req的示例:
# coding: utf-8
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkprojectman.v4.region.projectman_region import ProjectManRegion
from huaweicloudsdkprojectman.v4 import *
# 配置认证信息
ak = "your_access_key"
sk = "your_secret_key"
credentials = BasicCredentials(ak, sk)
# 创建客户端
client = ProjectManClient.new_builder() \
.with_credentials(credentials) \
.with_region(ProjectManRegion.CN_NORTH_4) \
.build()
# 查询项目列表
try:
request = ListProjectsV4Request()
response = client.list_projects_v4(request)
print(response)
except Exception as e:
print(e.status_code)
print(e.request_id)
print(e.error_code)
print(e.error_msg)4.2 Java SDK示例
Java开发者同样可以使用官方SDK进行集成:
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.projectman.v4.ProjectManClient;
import com.huaweicloud.sdk.projectman.v4.model.*;
public class CodeArtsReqDemo {
public static void main(String[] args) {
// 配置认证信息
String ak = "your_access_key";
String sk = "your_secret_key";
BasicCredentials auth = new BasicCredentials()
.withAk(ak)
.withSk(sk);
// 创建客户端
ProjectManClient client = ProjectManClient.newBuilder()
.withCredential(auth)
.withRegion(ProjectManRegion.valueOf("cn-north-4"))
.build();
// 查询当前用户在项目中的角色
ShowCurUserRoleRequest request = new ShowCurUserRoleRequest();
request.setProjectId("your_project_id");
ShowCurUserRoleResponse response = client.showCurUserRole(request);
System.out.println(response);
}
}4.3 使用SDK的最佳实践
- 凭证管理:建议通过环境变量或配置文件管理AK/SK,避免硬编码在代码中。
- 异常处理:SDK调用可能抛出各种异常,应做好完善的错误捕获和重试逻辑。
- 请求限流:注意API的调用频率限制,合理控制并发请求数。
- 分页查询:对于列表类接口,注意使用分页参数避免一次性拉取过多数据。
第五章 ROMA Connect连接器:低代码集成新范式
5.1 什么是ROMA Connect连接器
ROMA Connect是华为云的应用与数据集成平台,提供了丰富的连接器生态。CodeArts Req连接器是ROMA Connect中专门用于对接华为云需求管理服务的连接器组件。通过ROMA Connect连接器,用户无需编写代码即可实现CodeArts Req与其他系统的数据互通。
5.2 创建CodeArts Req连接
在ROMA Connect中创建CodeArts Req连接的步骤如下:
- 登录华为云控制台,进入ROMA Connect服务。
- 在左侧导航栏选择"连接器",点击"新建连接"。
- 选择"需求管理"或"CodeArts Req"连接器。
- 在弹窗中配置连接信息:
- 连接名称:填写连接器实例的名称,便于识别
- 描述:选填,用于说明该连接的用途
- Access Key:当前华为云账号的AK(访问密钥ID)
- Secret Access Key:当前华为云账号的SK(秘密访问密钥)
- 点击"确定"完成连接创建。
💡 提示:AK/SK可在华为云控制台的"我的凭证"-"访问密钥"中生成和下载。如果已生成过AK/SK,可在credentials.csv文件中找到。
5.3 支持的动作
CodeArts Req连接器内置了丰富的动作(Action),覆盖了需求管理的核心操作:
- 工作项管理:创建工作项、查询工作项、更新工作项、删除工作项、批量删除、高级查询、获取子工作项
- 迭代管理:创建迭代、更新迭代、删除迭代、批量删除、查询迭代列表、查看迭代详情
- 项目管理:创建项目、更新项目、删除项目、查询项目列表、获取项目详情、检查项目名称是否存在
- 成员管理:添加项目成员、批量添加、批量删除、查询成员列表、更新成员角色
- 统计分析:获取项目概览、需求统计、Bug统计、缺陷密度、人均Bug、需求按时完成率
- 其他:查询工作项流转配置、获取工作项历史记录、查询关联用例、查询关联代码提交记录等
5.4 典型集成场景
通过ROMA Connect连接器,可以实现多种实用的集成场景:
- 定时同步:配置定时任务,定期从CodeArts Req拉取工作项数据并同步到其他系统。
- 事件触发:当CodeArts Req中发生特定事件(如工作项创建、状态变更)时,自动触发后续动作。
- 数据聚合:将多个CodeArts Req项目的数据聚合到统一的数据仓库或BI看板中。
第六章 CodeArts Link:开箱即用的集成平台
6.1 CodeArts Link概述
CodeArts Link是华为云提供的联接服务,内置了25+集成模板,支持不同软件研发阶段和不同研发工具之间的数据互通。通过CodeArts Link,用户可以快速实现Jira与CodeArts Req的数据双向同步、需求信息在多种工具间的自动流转等复杂集成场景。
6.2 创建CodeArts Req连接
在CodeArts Link中创建连接的步骤:
- 登录CodeArts Link控制台。
- 在左侧导航栏选择"连接器",点击"新建连接"。
- 选择"CodeArts Req"连接器。
- 配置AK/SK等连接信息。
- 点击"确定"完成创建。
6.3 Jira与CodeArts Req数据双向同步
这是CodeArts Link最典型的应用场景之一。通过CodeArts Link,企业可以实现Jira和CodeArts Req之间的数据双向同步,提高跨系统协作效率。
场景一:Jira新增Issue同步至CodeArts Req
- 登录CodeArts Link控制台,进入"资产目录"。
- 搜索"Jira新增Issue同步至CodeArtsReq"模板。
- 点击"使用模板"进入画布编排界面。
- 配置"Jira Software"触发事件的连接和参数。
- 配置"CodeArts Req"节点事件的连接和参数。
- 保存并启动该业务流程。
场景二:Jira更新Issue同步到CodeArts Req
- 在资产目录中找到"Jira更新Issue同步到CodeArtsReq"模板。
- 按照同样的流程配置触发事件和目标节点。
- 保存并启动。
场景三:定时同步CodeArts Req工作项状态到Jira
- 在资产目录中找到"定时同步codeArtsReq工作项状态到JIRA"模板。
- 配置CodeArts Req节点和Jira节点的连接与参数。
- 设置定时触发规则。
- 保存并启动。
6.4 Webhook与第三方通讯软件集成
CodeArts Req支持通用Webhook配置,可以与飞书、钉钉等第三方通讯软件进行消息推送。用户可自定义触发事件与消息体,实现工作项变更的实时通知。例如,当高优先级Bug被创建时,自动在团队钉钉群中发送告警消息。
第七章 权限管理与安全认证
7.1 认证机制
CodeArts Req的所有对接方式都基于华为云统一的IAM认证体系。无论是API调用、SDK接入还是连接器配置,都需要提供有效的认证凭证。主要的认证方式包括:
- Token认证:通过IAM获取临时Token,适用于API调用场景。
- AK/SK认证:使用访问密钥进行签名认证,适用于SDK和连接器配置。
7.2 权限模型
CodeArts Req采用基于角色的访问控制(RBAC)模型。不同角色拥有不同的操作权限:
- 项目管理员:拥有项目的全部管理权限,包括成员管理、项目设置等。
- 开发人员:可以创建和编辑工作项,参与迭代开发。
- 测试人员:可以创建和跟踪缺陷,执行测试任务。
- 只读用户:仅能查看项目数据,无法进行任何修改操作。
在进行API对接时,需要确保所使用的账号或子账号拥有目标操作所需的权限。建议为不同的集成场景创建专门的子账号,并授予最小必要权限。
7.3 数据安全
CodeArts Req在数据传输和存储方面提供了多层次的安全保障:
- 所有API调用均通过HTTPS加密传输。
- 敏感数据在服务端进行加密存储。
- 操作日志全量记录,支持审计追溯。
- 支持企业级的多租户隔离。
第八章 从Jira迁移至CodeArts Req的最佳实践
8.1 迁移背景
越来越多的企业正在从Jira等传统项目管理工具向华为云CodeArts Req迁移。迁移的动力包括:更紧密的CodeArts生态集成、更低的总体拥有成本、以及华为云原生的安全合规能力。
8.2 迁移路径
推荐的迁移路径分为四个阶段:
- 评估阶段:梳理当前Jira中的项目结构、工作项类型、自定义字段、工作流等元数据,评估与CodeArts Req的映射关系。
- 试点阶段:选择一个非核心项目进行迁移试点,验证迁移方案的可行性。
- 数据迁移阶段:通过CodeArts Link的Jira同步模板或自定义脚本,将历史数据迁移至CodeArts Req。
- 切换阶段:完成数据校验后,将团队正式切换到CodeArts Req平台。
8.3 迁移工具与模板
CodeArts Link提供了多个Jira相关的集成模板,可以大幅降低迁移的技术门槛:
- Jira新增Issue同步至CodeArtsReq
- Jira更新Issue同步到CodeArtsReq
- 定时同步CodeArtsReq工作项状态到JIRA
这些模板不仅适用于迁移场景,也适用于迁移后的双轨运行阶段——在过渡期内让两个系统并行运转,逐步完成切换。
第九章 常见问题与排错指南
9.1 API调用常见错误
| 错误码 | 错误信息 | 解决方案 |
|---|---|---|
| 401 | Unauthorized | Token无效或已过期,请重新获取Token |
| 403 | Forbidden | 账号权限不足,请检查子账号的权限配置 |
| 404 | Not Found | 资源不存在,请检查project_id等参数是否正确 |
| 429 | Too Many Requests | 请求频率超限,请降低调用频率或增加间隔时间 |
9.2 连接器配置失败
如果在ROMA Connect或CodeArts Link中配置CodeArts Req连接失败,请检查以下几点:
- AK/SK是否正确,是否已启用。
- 账号是否已开通CodeArts Req服务。
- 网络是否可达,是否有防火墙或安全组限制。
结语
华为云CodeArts Req提供了从REST API到低代码连接器的多层次对接能力,无论你是需要深度定制集成的开发者,还是希望快速打通工具链的运维人员,都能找到适合自己的集成方式。通过本文介绍的四类对接方法——REST API、SDK、ROMA Connect连接器和CodeArts Link,你可以将CodeArts Req无缝嵌入到企业的研发工具链中,真正实现需求管理的数据流通与价值释放。
随着企业研发数字化转型的不断深入,需求管理工具与其他系统的集成将变得越来越重要。希望本文能成为你在CodeArts Req对接集成之路上的实用指南。
常见问答
问1:CodeArts Req的API调用需要哪些准备工作?
答:需要完成三项准备工作:首先确保已开通CodeArts Req服务并拥有一个项目;其次在华为云控制台的"我的凭证"中生成或获取AK/SK;最后根据所选的开发语言安装对应的SDK或准备HTTP客户端工具。
问2:ROMA Connect连接器和CodeArts Link有什么区别?应该怎么选?
答:ROMA Connect连接器是面向应用与数据集成场景的通用连接器组件,适合需要自定义编排集成流程的场景。CodeArts Link则是专门针对研发工具链集成优化的联接服务,内置了Jira同步等25+预置模板。如果需求是与Jira、GitHub等第三方研发工具集成,优先选择CodeArts Link;如果是与其他企业应用系统集成,ROMA Connect连接器更加灵活。
问3:如何实现CodeArts Req工作项变更的实时消息推送?
答:可以通过配置Webhook实现。在CodeArts Req的项目设置中配置Webhook地址,选择触发事件(如工作项创建、状态变更等),当事件发生时系统会自动向配置的URL发送HTTP POST请求,携带工作项的详细信息。接收端可以是自建的服务,也可以是飞书、钉钉等通讯软件的机器人接口。
问4:从Jira迁移到CodeArts Req时,历史数据如何迁移?
答:推荐使用CodeArts Link提供的Jira同步模板。这些模板支持将Jira中的Issue自动同步到CodeArts Req,包括新增和更新两种场景。对于全量历史数据迁移,可以先在Jira中分批触发同步,或使用自定义脚本调用两边的API进行批量迁移。迁移前建议先做小范围试点验证数据映射的准确性。
问5:CodeArts Req的API调用频率有限制吗?
答:是的,华为云API有统一的调用频率限制策略。具体的配额取决于账号等级和具体的API接口。建议在调用时做好错误重试和退避策略,避免短时间内发起大量并发请求。对于大批量数据操作,可以考虑分批执行或使用异步方式。
问6:子账号可以调用CodeArts Req的API吗?
答:可以。子账号(IAM用户)只要被授予了相应的权限策略,就可以调用CodeArts Req的API。建议为API集成场景创建专门的子账号,并授予最小必要权限(如仅授予特定项目的读写权限),避免使用主账号AK/SK带来的安全风险。


