Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-51530

Mulibranch pipeline job and mercurialSCMSource traits request

      Without passing trait (behaviour) installation for multibranch pipeline using mercurial there's no chance to run jobs (probably due to hg-cache requirement or something like this).

      I discovered

      mercurialInstallationSCMSourceTrait

      in jenkins job reference manual but this node I can not apply to the following configuration:

      multibranchPipelineJob('ci-per-branch'){
          displayName('CI')
          description('Continuous Integration Tests')
          triggers {
              periodic(10)
          }
      
          branchSources {
      
              branchSource {
                  source {
                      mercurialSCMSource {
                          id "ci-per-branch-id"
                          credentialsId "access-bot-id"
                          source "https://repolocation/"
                          // here should be installation option to make it work
                      }
                  }
              }
          }
      
          orphanedItemStrategy {
              discardOldItems {
                  numToKeep(0)
                  daysToKeep(0)
              }
          }
      }
      

      Unfortunately I have not found how to configure it by another ways.

          [JENKINS-51530] Mulibranch pipeline job and mercurialSCMSource traits request

          There was a similar issue with the GitHub branch source, see https://github.com/jenkinsci/github-branch-source-plugin/commit/745dfbfe4f8002b085386e8da8a9416a964472d2. That fix has to be applied to the Mercurial plugin as well. I will prepare a PR.

          Daniel Spilker added a comment - There was a similar issue with the GitHub branch source, see https://github.com/jenkinsci/github-branch-source-plugin/commit/745dfbfe4f8002b085386e8da8a9416a964472d2 . That fix has to be applied to the Mercurial plugin as well. I will prepare a PR.

          Daniel Spilker added a comment - PR with a workaround for JENKINS-26535 : https://github.com/jenkinsci/mercurial-plugin/pull/118

          Daniel Spilker added a comment - - edited

          nickolasfox you can also use a Configure Block to add the missing config:

          multibranchPipelineJob('example-mbp') {
            branchSources {
              branchSource {
                source {
                  mercurialSCMSource {
                    id('ci-per-branch-id')
                    credentialsId('access-bot-id')
                    source('https://repolocation/')
                  }
                }
              }
            }
            configure { project ->
              project / sources / data / 'jenkins.branch.BranchSource' / source / traits << 'hudson.plugins.mercurial.traits.MercurialInstallationSCMSourceTrait' {
                installation('mercurial-4.6')
              }
            }
          }
          

          Daniel Spilker added a comment - - edited nickolasfox you can also use a Configure Block to add the missing config: multibranchPipelineJob( 'example-mbp' ) { branchSources { branchSource { source { mercurialSCMSource { id( 'ci-per-branch-id' ) credentialsId( 'access-bot-id' ) source( 'https: //repolocation/' ) } } } } configure { project -> project / sources / data / 'jenkins.branch.BranchSource' / source / traits << 'hudson.plugins.mercurial.traits.MercurialInstallationSCMSourceTrait' { installation( 'mercurial-4.6' ) } } }

          Nickolas Fox added a comment -

          daspilker thank you, yes I know about configure way to setup project in my case I've replaced whole branchSources block with configure use.

          Nickolas Fox added a comment - daspilker thank you, yes I know about configure way to setup project in my case I've replaced whole branchSources block with configure use.

            jglick Jesse Glick
            nickolasfox Nickolas Fox
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: