Объединить ветку B с веткой A - PullRequest
0 голосов
/ 31 августа 2018

Я использую трубопровод Дженкинса для своего проекта. Дженкинс извлекает хранилище из gitlab и затем запускает мой конвейер. Так что проблема в том, что я хочу объединить B с A на gitlab, когда конвейер работает успешно. Это мой Jenkinsfile, который, конечно, не удовлетворяет мою потребность, потому что он дает мне ошибку

слияние: тест - не то, что мы можем слить

node {
try{
stage('Build'){
    def mavenHome  = tool 'Maven'
    checkout scm
    sh "mvn clean install"
}
stage('SonarQube') {
        steps {
            sh "mvn clean verify sonar:sonar -Dsonar.branch.name="+ env.BRANCH_NAME
        }
    }

stage('Merge with Dev') {

    sh "git checkout dev"
    sh "git pull gitlab dev"
    sh "git merge test"

    }



} catch(error){
    currentBuild.result = "FAILED"
    mail to: 'mail here',
    subject: "Failed Pipeline: ${currentBuild.fullDisplayName}",
    body: "Something is wrong with ${env.BUILD_URL}"
}
}

Я хочу, чтобы слияние было автоматическим, нет запроса на слияние. Спасибо

1 Ответ

0 голосов
/ 01 сентября 2018

Я нашел способ создания запроса на слияние, когда конвейер успешен, и это с помощью API. Ну, он не выполняет точно то, что я хочу (напрямую объединяю ветку, когда это возможно), но на данный момент это достаточно хорошо ( автоматически создать запрос на слияние в gitlab). Это последний этап в jenkinsfile

    stage('Merge with Dev') {


     sh 'curl --request POST --header "PRIVATE-TOKEN: APITOKENHERE" "GITURL/api/v4/projects/PROJECTID/merge_requests?source_branch='+env.BRANCH_NAME+'&target_branch=A&title='+env.BRANCH_NAME+'ToA"'


    }
...