Получить информацию о других филиалах из Jenkinsfile - PullRequest
0 голосов
/ 02 мая 2018

Jenkins Blue Ocean работает в той же локальной сети, что и связанный экземпляр Bitbucket Server. Многоотраслевой проект в Jenkins позволяет создавать ветки для каждой ветви связанного хранилища Bitbucket на локальном сервере Bitbucket. Но в Jenkinsfile я не могу получить информацию о других ветках.

Какой конкретный синтаксис необходимо добавить к упрощенному Jenkinsfile ниже, чтобы в результате журнал консоли получил:
1. Распечатайте полный список всех веток в удаленном репозитории и
2. Отфильтруйте список, чтобы включить только те ветви, заголовки которых содержат определенную подстроку xyx?

Этот вопрос задает информацию о ветке репозитория Bitbucket в объектной модели Bitbucket, которая должна быть доступна через API или CLI Bitbucket.


Jenkinsfile

Упрощенный код Jenkinsfile выглядит следующим образом. Обратите внимание, что я уже попробовал несколько подходов:

node {
    // Clean workspace before doing anything
    deleteDir()

    try {
        stage ('Clone') {
            def repoUrl = checkout(scm).GIT_URL
            sh "echo 'The repo URL is: ${repoUrl}'"
            def branch = checkout(scm).GIT_BRANCH
            sh "echo 'The name of the branch containing the commit for this build is: ${branch}'"
            sh "git remote show"
            sh "git remote show origin"
        }
    } catch (err) {
        currentBuild.result = 'FAILED'
        throw err
    }
}

Предыдущее Jenkinsfile не изолирует предполагаемую информацию.


Бревна

Полные журналы, полученные в результате выполнения предыдущего Jenkinsfile, выглядят следующим образом:

General SCM<1s
    Cloning the remote Git repository
    Cloning with configured refspecs honoured and without tags
    Cloning repository http://<bitbucket-ip-on-lan>:7990/scm/JSP/jenkinsfile-simple-repo.git
     > git init /var/jenkins_home/workspace/ne_GWS-43-getissueforcommit-M2X23QGNMETLDZWFK7IXVZQRCNSWYNTDFJZU54VP7DMIOD6Z4DGA # timeout=10
    Fetching upstream changes from http://<bitbucket-ip-on-lan>:7990/scm/JSP/jenkinsfile-simple-repo.git
     > git --version # timeout=10
    using GIT_ASKPASS to set credentials Bitbucket server credentials
     > git fetch --no-tags --progress http://<bitbucket-ip-on-lan>:7990/scm/JSP/jenkinsfile-simple-repo.git +refs/heads/GWS-43-getissueforcommit:refs/remotes/origin/GWS-43-getissueforcommit
     > git config remote.origin.url http://<bitbucket-ip-on-lan>:7990/scm/JSP/jenkinsfile-simple-repo.git # timeout=10
     > git config --add remote.origin.fetch +refs/heads/GWS-43-getissueforcommit:refs/remotes/origin/GWS-43-getissueforcommit # timeout=10
     > git config remote.origin.url http://<bitbucket-ip-on-lan>:7990/scm/JSP/jenkinsfile-simple-repo.git # timeout=10
    Cleaning workspace
     > git rev-parse --verify HEAD # timeout=10
    No valid HEAD. Skipping the resetting
     > git clean -fdx # timeout=10
    Fetching without tags
    Fetching upstream changes from http://<bitbucket-ip-on-lan>:7990/scm/JSP/jenkinsfile-simple-repo.git
    using GIT_ASKPASS to set credentials Bitbucket server credentials
     > git fetch --no-tags --progress http://<bitbucket-ip-on-lan>:7990/scm/JSP/jenkinsfile-simple-repo.git +refs/heads/GWS-43-getissueforcommit:refs/remotes/origin/GWS-43-getissueforcommit
    Checking out Revision 146a9be9f1500df335614cc7d769d14e6de16649 (GWS-43-getissueforcommit)
     > git config core.sparsecheckout # timeout=10
     > git checkout -f 146a9be9f1500df335614cc7d769d14e6de16649
     > git branch -a -v --no-abbrev # timeout=10
     > git checkout -b GWS-43-getissueforcommit 146a9be9f1500df335614cc7d769d14e6de16649
    Commit message: "remove extraneous info"
     > git rev-list --no-walk ecb67a432da567cf2e6d91f031b8ceb2f59ed087 # timeout=10
    Cleaning workspace
     > git rev-parse --verify HEAD # timeout=10
    Resetting working tree
     > git reset --hard # timeout=10
     > git clean -fdx # timeout=10
    [Bitbucket] Notifying commit build result

echo 'The repo URL is: http://<bitbucket-ip-on-lan>:7990/scm/JSP/jenkinsfile-simple-repo.git'— Shell Script<1s
    [ne_GWS-43-getissueforcommit-M2X23QGNMETLDZWFK7IXVZQRCNSWYNTDFJZU54VP7DMIOD6Z4DGA] Running shell script
    + echo The repo URL is: http://<bitbucket-ip-on-lan>:7990/scm/JSP/jenkinsfile-simple-repo.git
    The repo URL is: http://<bitbucket-ip-on-lan>:7990/scm/JSP/jenkinsfile-simple-repo.git

General SCM<1s
    > git rev-parse --is-inside-work-tree # timeout=10
    Fetching changes from the remote Git repository
     > git config remote.origin.url http://<bitbucket-ip-on-lan>:7990/scm/JSP/jenkinsfile-simple-repo.git # timeout=10
    Cleaning workspace
     > git rev-parse --verify HEAD # timeout=10
    Resetting working tree
     > git reset --hard # timeout=10
     > git clean -fdx # timeout=10
    Fetching without tags
    Fetching upstream changes from http://<bitbucket-ip-on-lan>:7990/scm/JSP/jenkinsfile-simple-repo.git
     > git --version # timeout=10
    using GIT_ASKPASS to set credentials Bitbucket server credentials
     > git fetch --no-tags --progress http://<bitbucket-ip-on-lan>:7990/scm/JSP/jenkinsfile-simple-repo.git +refs/heads/GWS-43-getissueforcommit:refs/remotes/origin/GWS-43-getissueforcommit
    Checking out Revision 146a9be9f1500df335614cc7d769d14e6de16649 (GWS-43-getissueforcommit)
     > git config core.sparsecheckout # timeout=10
     > git checkout -f 146a9be9f1500df335614cc7d769d14e6de16649
     > git branch -a -v --no-abbrev # timeout=10
     > git branch -D GWS-43-getissueforcommit # timeout=10
     > git checkout -b GWS-43-getissueforcommit 146a9be9f1500df335614cc7d769d14e6de16649
    Commit message: "remove extraneous info"
    Cleaning workspace
     > git rev-parse --verify HEAD # timeout=10
    Resetting working tree
     > git reset --hard # timeout=10
     > git clean -fdx # timeout=10
    [Bitbucket] Notifying commit build result

echo 'The name of the branch containing the commit for this build is: GWS-43-getissueforcommit'— Shell Script<1s
    [ne_GWS-43-getissueforcommit-M2X23QGNMETLDZWFK7IXVZQRCNSWYNTDFJZU54VP7DMIOD6Z4DGA] Running shell script
    + echo The name of the branch containing the commit for this build is: GWS-43-getissueforcommit
    The name of the branch containing the commit for this build is: GWS-43-getissueforcommit

git remote show— Shell Script<1s
    [ne_GWS-43-getissueforcommit-M2X23QGNMETLDZWFK7IXVZQRCNSWYNTDFJZU54VP7DMIOD6Z4DGA] Running shell script
    + git remote show
    origin

git remote show origin— Shell Script<1s
    [ne_GWS-43-getissueforcommit-M2X23QGNMETLDZWFK7IXVZQRCNSWYNTDFJZU54VP7DMIOD6Z4DGA] Running shell script
    + git remote show origin
    fatal: could not read Username for 'http://<bitbucket-ip-on-lan>:7990': No such device or address
    script returned exit code 128
...