Postman 连续调用sendNextRequest实现JIRA和Slack通知问题求助
Postman 多请求连续跳转工作流配置方案
核心问题原因
你当前配置不生效的根因有2个:
- Test2的逻辑中调用
postman.setNextRequest("JIRA Issue Request")后,立刻执行了pm.environment.set("failures", 0)重置了失败统计变量,等执行到JIRA请求的脚本时,读取到的failures值已经为0,判断逻辑自然不会触发,也不会输出对应日志 postman.setNextRequest()仅在请求的**测试脚本(Tests标签)**中生效,放置在前置脚本(Pre-request Script)中不会触发请求执行后的跳转动作
调整步骤
1. 修改Test2的测试脚本
移除Test2中提前重置failures的代码,修改后代码如下:
let failures = pm.environment.get("failures"); if (failures === undefined || failures === null){ failures = 0; pm.environment.set("failures", failures); } if (failures > 0) { console.log('failures found') postman.setNextRequest("JIRA Issue Request") } else { console.log('NO failures') postman.setNextRequest(null); }
2. 给JIRA Issue Request添加测试脚本
在JIRA请求的Tests标签中添加如下跳转逻辑,执行完成后跳转到Slack通知请求,跳转完成后再重置failures变量:
// 可先补充JIRA接口本身的断言逻辑 postman.setNextRequest("POST SLACK Post Message") // 所有异常流程执行完成后再重置失败统计 pm.environment.set("failures", 0)
3. 可选:给Slack请求添加终止逻辑
如果希望Slack通知发送完成后直接结束流程,在Slack请求的Tests标签中添加如下代码即可:
postman.setNextRequest(null)
注意事项
postman.setNextRequest()参数填写的请求名称需要和集合中的请求名称完全一致,大小写、空格、特殊符号都不能有差异,否则会找不到目标请求直接终止流程- 所有需要跳转的请求必须归属同一个集合,否则无法被识别调用
内容的提问来源于stack exchange,提问作者William Zebrowski
相关产品推荐
相关产品推荐

