我有一个文本文件rest_api.txt,其中包含JIRA问题url,如下所示
http://jira.tzgs.com/rest/api/2/issue/INF-1000?fields=fixVersions
http://jira.tzgs.com/rest/api/2/issue/INF-1001?fields=fixVersions
http://jira.tzgs.com/rest/api/2/issue/PRJ-6000?fields=fixVersions
当调用这些url时,它返回类似于Jason文件的结构。例如
{"expand":"renderedFields,names,schema,transitions,operations,editmeta,changelog","id":"54970","self":"http://jira.tzgs.com/rest/api/2/issue/54970","key":"INF-1000","fields":{"fixVersions":[{"self":"http://jira.tzgs.com/rest/api/2/version/15541","id":"15541","name":"NETBOOK 7.0.0","archived":false,"released":false}]}}
其中,"NETBOOK 7.0.0"是这个特定JIRA问题的修复版本。
有人能帮我一个PowerShell脚本,将调用这些url和解析只有这个修复版本值,并把它写到这样一个文件,请?
INF-1000 NETBOOK 7.0.0
INF-1001 NETBOOK 7.0.0
PRJ-6000 NETAPP 1.0.0
我不能为您编写从所有URL获取信息的代码(参见SO的On Topic问题策略)。但是我将帮助您进行解析,以使您从正确的方向开始。这就是PowerShell(3.0+版本)有一个非常好的ConvertFrom-Json
解析器的地方。
$String = '{"expand":"renderedFields,names,schema,transitions,operations,editmeta,changelog","id":"54970","self":"http://jira.tzgs.com/rest/api/2/issue/54970","key":"INF-1000","fields":{"fixVersions":[{"self":"htt
p://jira.tzgs.com/rest/api/2/version/15541","id":"15541","name":"NETBOOK 7.0.0","archived":false,"released":false}]}}'
$JsonObj = ConvertFrom-Json $String
然后返回你的字段,你可以这样访问它:
PS C:> $JsonObj.key
INF-1000
PS C:> $JsonObj.fields.fixVersions.name
NETBOOK 7.0.0