【发布时间】:2017-07-28 21:30:47
【问题描述】:
我正在尝试在 powershell 中调用 rest 方法从 teamcity 到 jira。 URL 需要正确编码才能正常工作。如果我删除这些编码字符,我不会得到正确的返回结果。查看示例和其他来源,jql 需要这样编码。
我的 uri 是
https://localhost:8443/rest/api/2/search?jql=project%20%3D%20CPS%20and%20fixVersion%20%3D%203.25
但是,每次我在 teamcity 中输入此内容时,都会提示我的构建配置输入 4 个新变量。我理解 teamcity 为何会这样想,但我已尽一切努力逃避他们。
我试过了:
https://localhost:8443/rest/api/2/search?jql=project%%20%%3D%%20CPS%%20and%%20fixVersion%%20%%3D%%203.2
https://localhost:8443/rest/api/2/search?jql=project%%%20%%%3D%%%20CPS%%%20and%%%20fixVersion%%%20%%%3D%%%203.2
https://localhost:8443/rest/api/2/search?jql=project`%20`%3D`%20CPS`%20and`%20fixVersion`%20`%3D`%203.2
我的用法如下:
$jiraFixVersion = $version.Substring(0,$length-5);
$params = @{uri = "https://jira.rtdomau.local:8443/rest/api/2/search?jql=project%20%3D%20CPS%20and%20fixVersion%20%3D%20$($jiraFixVersion)";
Method = 'Get'; #(or POST, or whatever)
Headers = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("$($user):$($password)"));
} #end headers hash table
} #end $params hash table
$var = invoke-restmethod @params
谁能给点别的建议?
【问题讨论】:
-
将 % 符号加倍或加倍应该可以。 (我不知道什么时候加倍和三倍,但其中一个往往会起作用。)当你尝试这样做时,你得到了什么错误?与没有加倍/三倍的情况不同吗? (OTOH,我不认为用
`转义在这里会做任何合理的事情。)
标签: powershell teamcity jira