我正在使用System Center Orchestrator和Powershell为JIRA设置自动化流程。在这个例子中,我已经有了JIRA Rest API的原始JSON数据。
function ConvertFrom-Json20([object] $item){
add-type -assembly system.web.extensions
$ps_js=new-object system.web.script.serialization.javascriptSerializer
#The comma operator is the array construction operator in PowerShell
return ,$ps_js.DeserializeObject($item)
}
[object]$JSON = '{Raw JSON Data from JIRA Variable}'
$results = ConvertFrom-Json20($JSON)
$key = @()
$count = @()
foreach( $issue in $results.issues ) {
$key += $issue.key
$count += $key.count
}
$key = @($key | Where-Object {$_ -ne $null})
$count = @($count | Where-Object {$_ -ne $null})
我使用的服务器没有最新的Powershell软件包,这就是为什么我要包含ConvertFrom-Json20([object])
功能的原因。在SCORCH中,$key
和$count
是已发布的数据变量。
答案 0 :(得分:0)
使用上面的代码,您可以从JIRA Rest API的JSON数据中获取Issue Key字段。
答案 1 :(得分:0)
对于powershell问题,如果在服务器上安装3.0版或更高版本,则有几种方法可以替换json转换函数。
我不明白为什么你需要遍历密钥并存储密钥的当前索引的基于1的值。鉴于以上关于powershell的内容,以下内容将为您提供与您所示相同的结果。在您使用它们时,$ key数组需要考虑元素的当前索引为零:
$results = ConvertFrom-Json $JSON
$key = $results.issues | Where-Object {$_.key -ne $null}