顶层的映射值和嵌套对象中的单个值

Mapping values at the top level and a single value from a nested object

我正在尝试使用 jira 问题和自定义字段来执行此操作,但事实证明这非常困难。

为了简明起见,下面是我收到的内容:

"expand": "editmeta,renderedFields,transitions,changelog,operations",
"id": "59378",
"self": "https://myjirainstance.com/jira/rest/api/2/issue/59378",
"key": "AB-12345",
"fields":
  {
    "type": "Bug",
    "typeid": "19",
    "status": "Backlog",
    "summary": "I'm a big bad bug",
    "closedDate": null,
    "customfield_10170":[{"self":"http://address/1938","value":"Critical","id":"10404"}]
  },

我之前已经像这样映射了所有其他字段

curl to jira | jq '.["issues"] | 
   map({
    key: .key, 
    type: .fields.issuetype.name, 
    typeid: .fields.issuetype.id, 
    status: .fields.status.name, 
    summary: .fields.summary, 
    closedDate: .fields.resolutiondate, 
    flag: .fields.customfield_10170["value"]})'
    >  output/json/FullIssueList.json

但是添加最后一行以获得 value 作为 suggested here 会导致整个对象被排除在输出文件之外。

有什么想法吗?

我找到了答案,

原来的和不正确的尝试是这样的:

curl to jira | jq '.["issues"] | 
   map({
    key: .key, 
    type: .fields.issuetype.name, 
    typeid: .fields.issuetype.id, 
    status: .fields.status.name, 
    summary: .fields.summary, 
    closedDate: .fields.resolutiondate, 
    flag: .fields.customfield_10170["value"]})'
    >  output/json/FullIssueList.json

我没有将 flag 的条目视为单独的数组。所以那一行应该是:

flag: .fields.customfield_10170[0].value

这会获取数组中的第一个元素 [0],然后请求 value 字段。