如何遍历 GET 请求并对找到的每个键执行 POST
How to loop over a GET request and do a POST every key found
为了让生活更轻松,一周前刚开始玩 Postman。
情况:
我有一个获取请求,其中 returns x 密钥数量(Jira 用户故事)
我想达到什么目的:
我想为每个使用 Postman
从 GET 请求中返回的密钥创建子任务
关于如何创建子任务的 POST 部分已经完成。我的问题是专门循环遍历 GET 请求列表来为每个故事创建它。
如有任何帮助,我们将不胜感激
我的邮递员 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 函数来迭代和处理您响应中的每个问题。例如:
function createSubTask(issueId) {
console.log(`POST Subtask: ${issueId}`);
}
for (let subtask of response.issues) {
createSubTask(subtask.id)
}
您可以找到更多帮助here
在获取信息的第一个请求中,将问题存储到变量中:
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
为了让生活更轻松,一周前刚开始玩 Postman。
情况: 我有一个获取请求,其中 returns x 密钥数量(Jira 用户故事)
我想达到什么目的: 我想为每个使用 Postman
从 GET 请求中返回的密钥创建子任务关于如何创建子任务的 POST 部分已经完成。我的问题是专门循环遍历 GET 请求列表来为每个故事创建它。
如有任何帮助,我们将不胜感激
我的邮递员 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 函数来迭代和处理您响应中的每个问题。例如:
function createSubTask(issueId) {
console.log(`POST Subtask: ${issueId}`);
}
for (let subtask of response.issues) {
createSubTask(subtask.id)
}
您可以找到更多帮助here
在获取信息的第一个请求中,将问题存储到变量中:
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