如何使用Polarion API获取项目列表及关联的项目组列表
Polarion API 全量项目及关联项目组自动化获取方案
前置准备
- 确认你持有Polarion实例的有效访问账号,且账号已开通API访问权限
- 提前记录你的Polarion实例根访问地址、登录账号、登录密码
- 确保运行脚本的服务器/本地环境可以正常连通Polarion实例的服务端口
核心实现流程
1. 调用登录接口获取身份凭证
Polarion REST接口需要携带身份Token才能访问,首先调用登录接口获取Token,Python示例代码如下:
import requests # 基础配置替换为你自己的实际信息 POLARION_BASE = "http://你的Polarion实例地址/polarion" USER = "你的账号" PWD = "你的密码" # 登录获取Token resp = requests.post( f"{POLARION_BASE}/rest/v1/login", json={"userName": USER, "password": PWD}, verify=False ) auth_token = resp.headers.get("X-Polarion-Token") # 后续所有请求都要携带这个请求头 req_headers = { "X-Polarion-Token": auth_token, "Content-Type": "application/json" }
注:如果使用SOAP接口,需通过Session方式维护登录状态,推荐使用更轻量的REST v2接口实现。
2. 拉取全量项目列表
调用项目查询接口拉取所有项目信息,需注意处理分页逻辑:
- 接口地址:
GET {POLARION_BASE}/rest/v2/projects - 必传参数:
pageSize设置为最大允许值(通常为1000),page从0开始遍历,直到返回结果为空 - 返回结果会包含每个项目的唯一标识
id,后续查询项目组需要用到这个字段
3. 遍历项目获取关联项目组
对拿到的每个项目ID,调用项目组查询接口获取关联的所有项目组信息:
- 接口地址:
GET {POLARION_BASE}/rest/v2/projects/{项目ID}/groups - 返回结果包含项目组的ID、名称、成员列表、权限配置等你需要的字段
4. 数据整合持久化
将项目基础信息、对应关联的项目组信息做映射整合,按照你的业务需求存入数据库、CSV文件或其他存储介质即可。你可以将整个流程封装为定时任务,实现全量信息的定期自动同步。
注意事项
- 接口请求间隔设置为1秒以上,避免触发Polarion的限流规则导致请求被拦截
- 提前做异常捕获处理,部分受限项目如果你的账号没有访问权限,接口会返回403状态码,直接跳过即可
- Token默认有效期为2小时,如果数据量较大拉取耗时较长,需要增加Token过期自动刷新的逻辑
内容的提问来源于stack exchange,提问作者Shravya Voruganti
相关产品推荐
相关产品推荐

