Due to some maintenance issues, this service has been switched in read-only mode, you can find more information about the why

and how to migrate your plugin documentation in this blogpost

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 36 Next »

This plugin adds additional project types that create sub-projects for each branch using a shared configuration.

Plugin Information

View Multi-Branch Project Plugin (DEPRECATED) on the plugin site for more information.

Table of Contents


This plugin is in its infancy stages. It was designed with simplicity in mind, so you may find that it is not feature-rich. The goal right now is to maintain a production-ready plugin and gather bug reports and new feature requests from the community.

Currently, the plugin offers a single new project type whose configuration mimics that of a standard free-style project. The only difference is that the SCM configuration section utilizes the SCM API Plugin (and so the options may seem somewhat limited compared to the usual SCM options). The project will use this SCM to automatically poll for a list of current branches and sync all the configuration to sub-projects. Each branch has its own sub-project. Sub-projects are just like normal projects, except they can't be configured directly and they are listed on the main (parent) project's page.

Available SCMs

Any SCM plugin that has an implementation that extends the below class from the SCM API Plugin will be available:


Known implementations:

Screenshot - Project Page


  • Branch names get encoded (i.e. a forward slash '/' becomes '%2F'), so some things may not work without additional configuration. The real branch names are stored in the sub-project's display name. Make sure both your container running Jenkins (ex: Tomcat, Glassfish, etc.) and any HTTP server acting as a remote proxy (ex: Apache, Nginx) are configured to support encoded slashes in the URL. The embedded Jetty container in jenkins.war can handle this by default.
  • Depending on the SCM implementation you're using, configuration options can be limited.
  • If a branch is deleted from your SCM, or the SCM includes/excludes are modified to remove a branch, the project will always remove that branch's sub-project. If retaining build history for old branches is important to you, you may not want to use this plugin (yet!) since you'll lose that history as soon as the project polls for the branch list.
  • This project type should be compatible with plugins that you'd see in normal free-style projects, but compatibility can't be guaranteed.  Feel free to open an issue in the GitHub project with your list of installed plugins, your configuration, and any relevant errors or logs.

Change Log

v0.4.1 - Dec 11, 2015

  • Fix #128 (regression): Re-add ability to keep sub-projects disabled

v0.4 - Dec 2, 2015

  • Fix #37: Add a option for triggering build for new branches (thanks to Hiroyuki Wada)
  • Update SCM API Plugin dependency to 1.0
  • Remove 0.1.x -> 0.2+ branch project migration code
  • Update Maven Plugin dependency to 2.12.1 (thanks to Robin Müller)
  • Use encoded branch names for both filesystem name and project name (real branch name set in display name)
    • Fix #23: View column links are broken for branch names with slashes
    • Fix #50: Using jenkins.model.Jenkins#getItemByFullName API with slashes in name does not work
    • Fix #76: Branches with slashes causing broken links in conjunction with other plugins
    • Fix #114: Unable to trigger downstream multi-branch jobs with slash in name
  • Refactor to use ComputedFolder API
    • Add Folders Plugin as a dependency
    • Update core dependency to 1.609.1 (highest common denominator, matches Folders Plugin)
    • Fix #44 (part 1): Unable to rename multi-branch projects
    • Fix #61: Jenkins GUI gets incredibly slow when saving a multi-branch project with many branches
    • Fix #94: Enable a project after restart not working
  • Fix #44 (part 2): Clone/copy template project when parent is copied

v0.3 - Aug 30, 2015

  • Refactored AbstractMultiBranchProject to inherit from AbstractItem
    • Fix #85: Sync branches not working in Jenkins 1.621+
    • Fix #53: NPE with EmailExt plugin
  • Fix #89: Add new Maven Multi-Branch Project type
  • Fix #87: "Could not access hudson.model.JDK.DEFAULT_NAME" JellyTagException
  • Fix #54: Bubble build status up to host project view

v0.2.4 - Aug 5, 2015

  • Fix JellyTagException on sync branches log in Jenkins 1.621+

v0.2.3 - Jul 7, 2015

  • Fix issue with custom workspace configuration field in newer versions of Jenkins
  • Fix deadlocks (thanks to Greg Opaczewski)
  • Add some Japanese localization (thanks to mallowlabs)

v0.2.2 - Apr 14, 2015

  • Fix exception on configuration page (No page found 'configure-branch-entries.jelly')

v0.2.1 - Apr 13, 2015

  • Fix regression with ${JOB_URL}/syncBranches

v0.2 - Apr 13, 2015

  • Back from the dead!
  • Heavy refactoring that abstracts much of the multi-branch functionality.
    • Set custom workspace now available
    • Template for sub-projects can now be configured via API at ${JOB_UR\L}/template/config.xml
  • Display warning on configuration page when no compatible SCMs are available.
  • Fixes exception java.lang.NoSuchMethodException: hudson.model.AbstractProject.convertUpstreamBuildTrigger(java.util.Set)

v0.1.3 - Oct 30, 2014

  • Add ability to trigger branch sync via URL with option to allow it anonymously (thanks to Manuel Durán Aguete for the initial commit).

v0.1.2 - Aug 29, 2014

  • Fix project-level permissions when using the "Project-based Matrix Authorization Strategy" security option.

v0.1.1 - Aug 13, 2014

  • Fix configuration issue when restricting project runs to master.

v0.1 - Aug 12, 2014

  • Initial Release
  • No labels