Postman 如何循环GET请求,并在找到每个键后发布

Postman 如何循环GET请求,并在找到每个键后发布,postman,jira,Postman,Jira,一周前刚开始和邮递员玩,让生活更轻松 情况: 我有一个get请求,它返回x个数量的密钥(Jira userstories) 我想要实现什么: 我想为通过Postman获取请求返回的每个密钥创建子任务 关于如何创建子任务的文章部分已经完成。我的问题是在GET请求列表中循环,为每个故事创建它 任何帮助都将不胜感激 我的邮递员请求: { "expand": "schema,names", "startAt": 0, "maxResu

一周前刚开始和邮递员玩,让生活更轻松

情况: 我有一个get请求,它返回x个数量的密钥(Jira userstories)

我想要实现什么: 我想为通过Postman获取请求返回的每个密钥创建子任务

关于如何创建子任务的文章部分已经完成。我的问题是在GET请求列表中循环,为每个故事创建它

任何帮助都将不胜感激

我的邮递员请求:

{
"expand": "schema,names",
"startAt": 0,
"maxResults": 50,
"total": 8,
"issues": [
    {
        "expand": "operations,versionedRepresentations,editmeta,changelog,renderedFields",
        "id": "59332",
        "self": "xxx",
        **"key": "GRIP-502"**
    },
    {
        "expand": "operations,versionedRepresentations,editmeta,changelog,renderedFields",
        "id": "58465",
        "self": "xx",
        "key": "GRIP-429"
    },
    {
        "expand": "operations,versionedRepresentations,editmeta,changelog,renderedFields",
        "id": "56409",
        "self": "xxxx",
        **"key": "GRIP-338"**
    },
    {
        "expand": "operations,versionedRepresentations,editmeta,changelog,renderedFields",
        "id": "55191",
        "self": "xxx",
        "key": "GRIP-246"
    },
    {
        "expand": "operations,versionedRepresentations,editmeta,changelog,renderedFields",
        "id": "55180",
        "self": "xx",
        **"key": "GRIP-244"**
    },
    {
        "expand": "operations,versionedRepresentations,editmeta,changelog,renderedFields",
        "id": "52783",
        "self": "xx",
        "key": "GRIP-104"
    },
    {
        "expand": "operations,versionedRepresentations,editmeta,changelog,renderedFields",
        "id": "51641",
        "self": "xxx",
        "key": "GRIP-69"
    },
    {
        "expand": "operations,versionedRepresentations,editmeta,changelog,renderedFields",
        "id": "51473",
        "self": "xx",
        "key": "GRIP-48"
    }
]

}您可以编写一个javascript函数来迭代和处理响应中的每个问题。例如:

函数创建子任务(issueId){
log(`POST子任务:${issueId}`);
}
for(让响应问题的子任务){
createSubTask(subtask.id)
}

您可以在第一个请求中找到更多帮助,您可以在该请求中获取信息并将问题存储到变量中:

pm.environment.set("issues",pm.response.json().issues)
在要发送的POSt请求的“请求前”部分中,请使用:

  let array = pm.environment.get("issues")
  let issue = array.pop()
   
  pm.environment.set("issues",array)
  pm.environment.set("id",issue.id) // or key what ever you want
  array.length!==0?postman.setNextRequest(pm.info.requestName):null

嗨,Raviadhikari,你能说得更具体一点吗。我是否需要在testscript下为请求添加上述代码?它如何迭代请求中的所有可用密钥?您需要使用Postman进行测试。因此,您可以在
Tests
部分中以
pm.test('TestCase0',pm.expect(…)
的形式执行自定义测试脚本。但是,如果您的需求是运行自动化脚本和更复杂的工作,那么您可以使用Python、Javascript等。这并不能回答这个问题。一旦你有足够的钱,你将能够;相反谢谢。刚刚登录并看到消息弹出!!我会尝试一下并告诉你结果。对于GET请求,我在“测试”中添加了第一行代码。结果是创建了env变量[object object],[object object]ya只需检索并打印它,console.log(pm.environment.get(“问题”))它将正确地将其作为数组进行解析。你好,PHide,它工作得非常完美,非常好。请允许我再问一个问题。我只想对子任务为[0]的记录执行put。我知道我必须对array==0做一些事情,但无法让它停止工作。有什么想法吗?所以我的数组看起来像(8)[{…},{…},{…},{…},{…},{…},{…},}0:{…}1:{…}2:{…}3:{…}4:{…}5:{…}6:{…}7:{…}3:{…}扩展:“操作,版本描述,编辑元,更改日志,渲染字段”id:“55191 self:”key:“GRIP-246 fields:{…}在我们的字段下“子任务”:[0]我只想选择那些子任务[0]所在的记录并执行put。非常感谢您的帮助,如果您有“由我提供咖啡”链接pm me it:)