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

Mulibranch pipeline job and mercurialSCMSource traits request

    XMLWordPrintable

Details

    Description

      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.

      Attachments

        1. 2018-05-24_22-06-33.png
          26 kB
          Nickolas Fox
        2. 2018-05-24_22-06-56.png
          22 kB
          Nickolas Fox

        Issue Links

          Activity

            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.

            daspilker 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.
            daspilker Daniel Spilker added a comment - PR with a workaround for JENKINS-26535 : https://github.com/jenkinsci/mercurial-plugin/pull/118
            daspilker 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')
                }
              }
            }
            
            daspilker 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' ) } } }
            nickolasfox 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.

            nickolasfox 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.

            People

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

              Dates

                Created:
                Updated:
                Resolved: