IBM DOORS NG:无需导出自动拼接属性生成链接显示名的方案
解决方案:DOORS NG自动拼接属性作为链接显示名
可以完全省略导出导入流程,以下两种方案可实现需求:
方案1:使用内置计算值属性(推荐)
这是最简便的内置方案,无需额外工具,支持属性变更时自动更新链接名:
- 进入项目的属性定义界面,新建一个计算值属性(文本类型)
- 在表达式编辑器中,选择需要拼接的两个属性,用字符串连接语法组合,例如:
${Activity} - ${另一个目标属性}
- 在表达式编辑器中,选择需要拼接的两个属性,用字符串连接语法组合,例如:
- 进入模块的链接显示设置,将该计算属性设置为链接的显示文本
此方案完全依赖DOORS NG内置功能,版本控制友好,属性值变更时链接名会自动同步更新。
方案2:通过RM API实现文件夹级自动化
如果需要更复杂的拼接逻辑,可借助RM REST API实现批量自动化:
1. 编写API处理脚本
基于Jazz平台的RM REST API,遍历目标文件夹下的所有对象,拼接属性并更新链接显示字段。示例伪代码(Python):
import requests # 配置服务器与认证信息 BASE_RM_URL = "https://你的DOORS-NG服务器地址/rm" AUTH_CRED = ("用户名", "密码") TARGET_FOLDER_URI = "/resource/itemName/目标文件夹的URI" # 获取文件夹下所有对象 def fetch_folder_objects(folder_uri): response = requests.get(f"{BASE_RM_URL}{folder_uri}/children", auth=AUTH_CRED) return response.json() # 更新对象的链接显示名称 def update_object_display_name(object_uri, new_display_text): update_payload = { "dc:title": new_display_text # 参考RM API文档,设置对应链接显示字段的键值对 } requests.put(f"{BASE_RM_URL}{object_uri}", json=update_payload, auth=AUTH_CRED) # 批量处理逻辑 folder_objects = fetch_folder_objects(TARGET_FOLDER_URI) for obj in folder_objects: # 获取目标属性值(需替换为实际属性的URI) activity_prop = obj["properties"]["Activity属性的URI"] other_prop = obj["properties"]["另一个属性的URI"] # 拼接生成新显示名 new_display = f"{activity_prop} - {other_prop}" # 更新对象 update_object_display_name(obj["uri"], new_display)
2. 配置仪表盘与自动化
- 在项目仪表盘中添加自定义HTML部件,可嵌入简化版脚本或通过iframe调用部署好的脚本页面(方便手动触发)
- 实现定时自动化:借助Jazz平台的计划任务(需管理员权限),或外部定时工具(如Linux Cron、Windows任务计划)定期运行脚本,实现文件夹下对象的自动更新
内容的提问来源于stack exchange,提问作者QueenEsther
相关产品推荐
相关产品推荐

