如何使用Polarion Web services获取Polarion项目列表
通过Polarion Web Services获取项目列表操作指南
前置准备
- 确认你有Polarion实例的访问权限,且账号具备项目查看权限
- 你使用的开发环境支持SOAP客户端调用,以下示例以Python的
zeep库为例
操作步骤
1. 初始化SOAP客户端并完成鉴权
首先连接会话服务完成登录,获取有效会话ID:
from zeep import Client from zeep.transports import Transport import requests # 替换为你的Polarion实例地址、账号密码 POLARION_BASE_URL = "http://your-polarion-instance.com/polarion" USERNAME = "your-account" PASSWORD = "your-password" # 测试环境可禁用SSL校验,生产环境建议移除该配置 session = requests.Session() session.verify = False # 初始化会话服务客户端 session_client = Client( wsdl=f"{POLARION_BASE_URL}/ws/services/SessionWebService?wsdl", transport=Transport(session=session) ) # 完成登录 session_client.service.logIn(USERNAME, PASSWORD)
2. 调用项目服务拉取项目列表
登录成功后调用ProjectWebService的getProjects方法获取项目数据:
# 初始化项目服务客户端 project_client = Client( wsdl=f"{POLARION_BASE_URL}/ws/services/ProjectWebService?wsdl", transport=Transport(session=session) ) # 参数说明:布尔值控制是否返回已归档项目,True=包含,False=仅返回未归档项目 projects = project_client.service.getProjects(False)
3. 解析返回结果
返回结果为Project对象数组,可直接提取所需属性:
for project in projects: print(f"项目ID:{project.id},项目名称:{project.name},项目URI:{project.uri}")
注意事项
- 所有Web Service调用完成后,建议主动调用
session_client.service.logOut()释放会话资源,避免占用实例连接数 - 若返回的项目列表不全,请确认登录账号的全局权限配置,账号默认仅能拉取自己有权限访问的项目
- 若Polarion实例开启了CSRF校验,需要在请求头中额外添加
X-Polarion-CSRF-Token字段,可通过首次GET请求的响应头获取
内容的提问来源于stack exchange,提问作者Pallavi
相关产品推荐
相关产品推荐

