如何将秘密文本从Jenkins管道传递到Powershell Invoke-WebRequest方法?

时间:2020-07-23 15:35:30

标签: powershell rest jenkins jenkins-pipeline

我尝试从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.

该如何解决?

0 个答案:

没有答案