在创建JIRA会话时屏蔽Windows凭据对话

时间:2018-06-06 15:02:20

标签: powershell jenkins jira jira-rest-api

我需要在Jenkins构建失败后在JIRA中创建新票证。 Jenkins版本相当陈旧1.625,并且由于依赖性,许多插件无法工作。

我使用JiraPS Powershell模块。我创建一个SecureString,创建一个PSCredentialObject并使用它来打开JIRA Session。工作正常。

其余的是 - 我在Jenkins PostBuildScript插件中使用了后构建操作和通用脚本,因为Powershell插件似乎用于管理构建而不是等待结果和触发。

powershell脚本由.cmd调用,结果如下。在PS-ISE中,脚本会在PS终端中运行并创建票证,而不会像我期望的那样在没有凭证挑战的情况下创建票证。但是,当在Jenkins中运行时,脚本会触发Windows安全对话框并停止,直到用户输入...

$username = "xyz"
$pwd = Get-Content C:\TEMP\cred.txt | ConvertTo-SecureString
$jiraCredentialObject = New-Object System.Management.Automation.PSCredential($username,$pwd)
New-JiraSession -Credential $jiraCredentialObject

我没有使用Get-Credential,因为这会提示一个对话框。

Jenkins日志显示

[Test2] $ powershell.exe -NonInteractive -ExecutionPolicy ByPass“&'C:\ Users \ SEAR \ AppData \ Local \ Temp \ hudson5839346934756539746.ps1'”

用户名WebSession

xyz Microsoft.PowerShell.Commands.WebRequestSession

...所以会话被实例化......但是使用pw challenge对话框。

cmd只是:

@echo off & setlocal
set runPath=%~dp0
powershell.exe -noexit -file C:/Users/SEAR/.jenkins/workspace/Test2/TicketErstellung2.ps1"

我的问题是 - 我如何压制对话框,以便脚本在Jenkins中运行,就像在ISE / PS-T中一样?

由于

0 个答案:

没有答案