我尝试从Jenkins管道运行我的Powershell脚本,并将其传递给Jenkins秘密文本凭证。 首先,我创建秘密文本凭证。
接下来,我想像这样运行我的脚本:
stage('Run script'){
steps{
script{
withCredentials([string(credentialsId: 'credId', variable: 'pass')]) {
bat 'powershell <path_to_my_script> -<some_working_flags> -securePass ${env:pass}'
}
}
}
}
在Powershell脚本中,我具有参数[string]$securePass
。
我试图像这样从脚本中使用Invoke-WebRequest:
function myFun()
{
$username = "User";
$secretPassword = ConvertTo-SecureString -String $securePass -AsPlainText -Force;
$cred = New-Object System.Management.Automation.PSCredential ($username, $secretPassword);
$json = Invoke-WebRequest -Uri "url_adress" -UseBasicParsing -Method Get -Credential $cred;
return $json;
}
但是在詹金斯,我遇到了这个错误Invoke-WebRequest : The remote server returned an error: (401) Unauthorized.
该如何解决?