Создать пул-запрос в Jenkins - PullRequest
0 голосов
/ 08 октября 2018

У нас есть настройка git с запросами на получение.PR подключены к Jenkins, где PR тестируются перед слиянием.

Jenkins проходит через Pipeline через ряд этапов.Но я бы хотел, чтобы Дженкинс создал дополнительный PR для другой ветви, если сборка и тестирование пройдут успешно

В качестве примера

A -> PR (созданный вручную) -> B -> PR (Jenkins) -> C

Я установил hub , и я пытаюсь запустить

запрос на концентратор -b-target_branch

Но я сталкиваюсь со многими проблемами:

  • Удаленный HEAD (не в ветви)
  • Недопустимое «базовое» значение (специфично для хаба, не находит целевую ветвь)
  • origin / target_branch не существует
  • и т. Д.

Ниже приведен фрагмент, в котором я пытаюсь создать запрос на извлечение в файле Jenkinsfile.Хотя это и немного, он пытается извлечь ветку источника в локальную ветвь, а затем создать PR для источника / демо (которые существуют)

    stage('Pull request') {
        sh 'git checkout -b ' + env.BRANCH_NAME + ' origin/' + env.BRANCH_NAME
        sh 'hub pull-request -b origin/demo'
    }

Кто-нибудь реализовал это?Это то, что было достигнуто, или вы пошли другим путем?Или это невозможно (управляемым образом)?

РЕДАКТИРОВАТЬ

В ответ на комментарий я хотел бы прояснить мою проблему настолько ясно, насколько это возможно.

  • Как мне решить проблему отсоединенного HEAD при запуске checkout scm ?Это способ, представленный во фрагменте кода выше?
  • Почему

    запрос на втягивание -b origin / demo

    приводит к недопустимому значению "base" (концентратор делаетnot find origin / demo branch)

  • То же самое относится и к git.Как сделать рабочие пространства осведомленными о других удаленных ветвях?

...