Testlink集成Jira REST问题:创建Jira工单版本字段及getIssue()异常
Testlink与Jira REST集成配置及版本字段问题解决方案
我之前也踩过Testlink集成Jira REST的坑,结合你给出的配置和遇到的版本字段问题,整理了一套可行的方案:
一、Jira REST集成核心配置
先把你的配置整理成规范的XML格式,重点注意几个容易踩坑的节点:
<!-- Template jirarestInterface --> <issuetracker> <username>你的Jira用户名</username> <!-- 云版Jira这里建议用API Token替代密码,避免密码过期或权限问题 --> <password>你的密码/API Token</password> <uribase>https://xxx.atlassian.net</uribase> <!-- 关键修正:uriapi要和uribase域名保持一致,这是解决getIssue()失效的核心 --> <uriapi>https://xxx.atlassian.net/rest/api/latest/</uriapi> <uriview>https://xxx.atlassian.net/browse/</uriview> <!-- 补全userinteraction配置,控制是否允许Testlink端创建/查看Jira工单 --> <userinteraction>1</userinteraction> </issuetracker>
提示:你原来的配置里uriapi写了不同的域名(marocks.atlassian.net),和uribase不一致,这大概率是导致getIssue()无法工作的原因,统一域名后这个问题应该能解决。
二、版本字段配置问题解决方案
Testlink创建Jira工单时要同步版本字段,需要按以下步骤操作:
- 确认Jira版本字段的Key
登录Jira后,调用REST接口GET /rest/api/latest/field,找到版本相关字段的key——通常fixVersions对应「修复版本」,versions对应「影响版本」。 - 在Testlink中添加字段映射
找到Testlink的Jira REST接口配置文件(一般是custom_config/issuetrackers/jirarestInterface.cfg.php或对应的XML配置),添加自定义字段映射:
如果用XML配置:
如果用PHP配置文件:<customfields> <!-- 映射Testlink测试版本到Jira的修复版本 --> <customfield name="fixVersions" type="array"> <value>@{test_version}</value> </customfield> </customfields>$custom_fields = array( 'fixVersions' => array( 'type' => 'array', 'value' => '@{test_version}' ) ); - 确保版本名称完全匹配
Testlink中设置的测试版本名称,必须和Jira对应项目的版本名称完全一致(大小写、空格、特殊符号都要对齐),否则字段映射会失效。 - 后台验证配置
登录Testlink后台,进入「缺陷跟踪系统管理」选择Jira REST集成,检查自定义字段映射是否生效,再测试创建工单,确认版本字段能同步到Jira。
内容的提问来源于stack exchange,提问作者dtjmsy
相关产品推荐
相关产品推荐

