如何通过Polarion SOAP API调用查询接口获取指定项目工作项?
我刚好有过用Polarion SOAP API查询工作项的实战经验,给你整理两个方法的具体参数示例和细节说明,应该能直接上手:
使用
queryWorkItems方法查询 这个方法用的是Polarion自带的查询语法,和Jira的JQL逻辑类似,上手比较直观。
参数说明
- 第一个参数
projectId:直接传入你的项目名称"My First Project"即可 - 第二个参数
query:用Polarion的查询表达式筛选工作项,核心语法是[字段名]:[值] - 第三个参数
fields:数组类型,指定你需要返回的工作项字段(比如ID、标题、状态等),传空数组或null会返回所有默认字段
代码示例(以Java客户端为例)
// 初始化TrackerWebService客户端后调用 trackerWebService.queryWorkItems( "My First Project", "type:\"Test Case\"", // 类型名称带空格时,要用双引号包裹 new String[]{"id", "title", "status", "description"} // 指定需要的字段 );
拓展说明
如果需要叠加更多筛选条件,可以用AND/OR组合,比如:type:"Test Case" AND status:"In Progress" AND created:>=2024-01-01
使用
queryWorkItemsBySQL方法查询 这个方法支持类SQL语法,适合熟悉SQL的开发者,灵活性更高。
参数说明
- 第一个参数
sqlQuery:Polarion兼容的SQL语句,工作项对应的表是WORKITEM,字段对应工作项的内部属性 - 第二个参数
fields:和queryWorkItems逻辑一致,指定返回字段,传空数组可返回默认字段集合
代码示例(以Java客户端为例)
trackerWebService.queryWorkItemsBySQL( "SELECT id, title, status FROM WORKITEM WHERE PROJECT = 'My First Project' AND TYPE = 'Test Case'", new String[]{"id", "title", "status"} );
注意事项
- SQL里的字段名是Polarion的内部属性名,比如
PROJECT对应项目ID,TYPE对应工作项类型的内部标识(如果显示名称和内部ID不一致,要以内部ID为准,可在Polarion的工作项类型配置页面查看) - 如果项目或类型名称包含特殊字符,记得用单引号包裹并正确转义
额外提醒:如果不确定字段的内部名称,可以在Polarion Web界面查看工作项的属性定义,或者用queryWorkItems传空query先返回一个工作项,通过返回的字段结构确认。
内容的提问来源于stack exchange,提问作者Maciek




