简体   繁体   English

包含 Jenkins 管道可选参数的语法

[英]syntax to include Jenkins pipeline optional argument

I currently have a sample pipeline that works but in the Jenkins output does not return the confirmation that the script worked.我目前有一个可用的示例管道,但在 Jenkins output 中未返回脚本有效的确认信息。


pipeline {
    agent any
     environment {
        CRED_APP_CATALOG =  credentials('id-app-tenant')
    }
    stages {
       
        stage('ConnectToApp'){
            
            steps {
                script{
                    pwsh '''
                        $cred = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $env:CRED_APP_CATALOG_USR , $(convertto-securestring $env:CRED_APP_CATALOG_PSW -asplaintext -force)
                        Connect-PnPOnline -Url  $env:app_catalog_path -Credentials $cred 
                        Add-PnPApp -Path "./sharepoint/solution/samplesolution.sppkg" -Publish -Overwrite
                    '''

                }
               
            }
        }
       

    }
}

I know I need to add the returnStdout from pwsh script some where, but I cant seem to find the syntax any where.我知道我需要在某个地方从pwsh 脚本添加 returnStdout,但我似乎无法在任何地方找到语法。

This is the syntax to use:这是要使用的语法:

pwsh returnStdout: true, script: '''
    $cred = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $env:CRED_APP_CATALOG_USR , $(convertto-securestring $env:CRED_APP_CATALOG_PSW -asplaintext -force)
    Connect-PnPOnline -Url  $env:app_catalog_path -Credentials $cred 
    Add-PnPApp -Path "./sharepoint/solution/samplesolution.sppkg" -Publish -Overwrite
'''

Alternatively you may use parentheses:或者你可以使用括号:

pwsh( returnStdout: true, script: '''
    $cred = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $env:CRED_APP_CATALOG_USR , $(convertto-securestring $env:CRED_APP_CATALOG_PSW -asplaintext -force)
    Connect-PnPOnline -Url  $env:app_catalog_path -Credentials $cred 
    Add-PnPApp -Path "./sharepoint/solution/samplesolution.sppkg" -Publish -Overwrite
''')

With both syntaxes, you may store the output in a variable for further processing:使用这两种语法,您可以将 output 存储在一个变量中以供进一步处理:

def stdout = pwsh returnStdout: true, script: '''
    $cred = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $env:CRED_APP_CATALOG_USR , $(convertto-securestring $env:CRED_APP_CATALOG_PSW -asplaintext -force)
    Connect-PnPOnline -Url  $env:app_catalog_path -Credentials $cred 
    Add-PnPApp -Path "./sharepoint/solution/samplesolution.sppkg" -Publish -Overwrite
'''

echo stdout

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM