GitHub:

Payload URL:

 https://jenkins-new.jam.only.sap/generic-webhook-trigger/invoke?token=resurrect&jobQuietPeriod=1

 

 

 

 

 

 

Pipeline:

pipeline {
    agent {
        label 'translation'
    }

    environment {
        param1 = 'value1'
    }

    triggers {
        GenericTrigger(
            genericVariables: [
                [defaultValue: '', key: 'action', regexpFilter: '', value: '$.action'],
                [defaultValue: '', key: 'src_full_name', regexpFilter: '', value: '$.pull_request.head.repo.full_name'],
                [defaultValue: '', key: 'user', regexpFilter: '', value: '$.pull_request.user.login'],
                [defaultValue: '', key: 'src_branch', regexpFilter: '', value: '$.pull_request.head.ref'],
                [defaultValue: '', key: 'src_repo_name', regexpFilter: '', value: '$.pull_request.head.repo.name'],
                [defaultValue: '', key: 'label', regexpFilter: '', value: '$.pull_request.head.label'],
                [defaultValue: '', key: 'webhook', regexpFilter: '', value: '$'],
                [defaultValue: '', key: 'src', regexpFilter: '[^0-9]', value: '$.pull_request.head.repo.full_name']
            ],
            overrideQuietPeriod: true, printContributedVariables: true, printPostContent: true, causeString: '$user $src_full_name $src_branch',
            regexpFilterExpression: '^opened-service-tip-git/.*$', regexpFilterText: '$action-$src_full_name', token: '', tokenCredentialId: 'translation-pr-token'
        )
    }

    options {
        retry 1
        timestamps()
        quietPeriod 2
        skipDefaultCheckout true
        disableConcurrentBuilds()
        timeout(time: 5, unit: 'MINUTES')
        buildDiscarder logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '100', numToKeepStr: '10')

    }

    stages {
        stage('Clean Workspace') {
            steps {
                script {
                    cleanWs notFailBuild: true
                    def webhook = readJSON(text: "${webhook}")
                }
            }
        }
        stage('Checkout') {
            steps {
                script {
                    checkout([$class: 'GitSCM', branches: [[name: ':^(?!(origin/prefix)).*']], extensions: [], userRemoteConfigs: [[credentialsId: 'jambot-key', url: 'git@github.wdf.sap.corp:sap-jam/translation-integration.git']]])
                }
            }
        }
        stage('Operate') {
            steps {
                script {
                    sh 'printenv'
                    sh 'ruby -rlogger -rfileutils -e "puts 555555555555555555555"'
                    sh 'pwd;ls -al'
                    withCredentials([usernamePassword(credentialsId: 'translation_token', passwordVariable: 'translation_git_token', usernameVariable: 'translation_git_username')]) {
                        sh '''
                        git clone --quiet --progress --jobs 5 --depth 1 --branch $src_branch https://$translation_git_username:$translation_git_token@github.wdf.sap.corp/service-tip-git/ct
                       
                        ls -al
                        ruby PostProcess.rb
                        ls -al ct
                        
                        cd ct
                        git branch -alvv
                        git checkout --progress $src_branch
                        git commit -am 'post processing with jenkins pipeline'
                        git push --quiet --all --progress --atomic
                        '''
                    }
                }

            }
        }
    }
}

 

 

Jenkins:

 

原文地址:http://www.cnblogs.com/dissipate/p/16875133.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性