使用Postman调用Jira Cloud Xray GET API获取测试步骤遇认证过期问题
问题原因及解决方案
你用的是Xray网页端的内部私有API(路径带/api/internal/),这类接口是给Xray自己的前端页面用的,依赖浏览器的Jira会话Cookie(比如JSESSIONID、crowd.token_key)来认证,和你通过client_id/client_secret获取的OAuth2 Bearer Token完全不兼容,所以才会报认证过期的错误。
正确的做法是用Xray官方公开的REST API来获取测试步骤:
单个Test Issue的测试步骤
- 请求URL:
https://xray.cloud.getxray.app/api/v2/tests/{testId}- 把
{testId}替换成你的Test Issue的ID(比如149565)或者Issue Key(比如TEST-123)
- 把
- 请求方法:GET
- 请求头:添加
Authorization: Bearer <你的OAuth2 Token> - 响应里的
steps字段就是该测试用例的所有步骤,格式和你在网页端看到的一致。
批量获取多个Test Issue的测试步骤
如果要一次性拉取多个Test的步骤,用搜索接口:
- 请求URL:
https://xray.cloud.getxray.app/api/v2/tests/search - 请求方法:POST
- 请求头:
Authorization: Bearer <你的OAuth2 Token>,Content-Type: application/json - 请求体(示例,用JQL筛选Test Issue):
{ "jql": "project = PROJ AND issuetype = Test", "limit": 50 }
- 响应里的每个
test对象都会包含steps字段。
记住,以后别用浏览器F12抓的内部API来做自动化集成,Xray的公开API才是官方支持的集成方式,稳定性和兼容性都有保障。
内容的提问来源于stack exchange,提问作者Harper
相关产品推荐
相关产品推荐

