• Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

      The new branch functionality shows great promise. But, and there's always a but, it doesn't handle plans with multiple source repositories.

      For an example setup, I have code stored in the following svn locations:

      /svn/libraries/core/trunk
      /svn/libraries/widget-creator/trunk
      /svn/applications/magic-8-ball/trunk

      To create a clean build of the magic-8-ball application, I need to check out all three in order and build them. If I want to branch the magic-8-ball application for release and have it depend on specific versions of its libraries, the source directories might be:

      /svn/libraries/core/branches/3.14
      /svn/libraries/widget-creator/branches/12345
      /svn/applications/magic-8-ball/branches/1.2

      From a functional perspective, each of the source repositories in a plan needs to be able to have a separate source repository path when building a given branch. This path for the default build, this other path when building the '1.2' branch etc.

      On the UI side when configuring a Bamboo Branch, the current location for specifying a different source repository when building for a branch is partially non-intuitive. To my mind, especially if Bamboo's concept of Branch builds becomes more central to Bamboo's operation, having the different source repositories for Branches as additional options in the Configuration -> Source Repositories -> Edit Source Repository tab would make more sense. For Branch (pulldown) use [this] repository information with [x] same password or different password etc. I really like the idea of not having to retype the same repository password multiple times.

            [BAM-11544] Branching with multiple source repositories

            Katherine Yabut made changes -
            Workflow Original: JAC Suggestion Workflow [ 3019141 ] New: JAC Suggestion Workflow 3 [ 3611257 ]
            Status Original: RESOLVED [ 5 ] New: Closed [ 6 ]

            david.buckley, sjames1, b152349 - please follow BAM-19898 for updates related to automated branching for multiple repositories

            Krystian Brazulewicz added a comment - david.buckley , sjames1 , b152349 - please follow BAM-19898 for updates related to automated branching for multiple repositories

            I'm going to talk to my manager about switching to Jenkins because of this.

            Ryan Jenkins added a comment - I'm going to talk to my manager about switching to Jenkins because of this.
            Ricardo made changes -
            Remote Link New: This issue links to "Page (Atlassian Documentation)" [ 414350 ]
            Owen made changes -
            Workflow Original: Confluence Workflow - Public Facing v4 [ 2702663 ] New: JAC Suggestion Workflow [ 3019141 ]

            Not sure this feature actually works on version 6.5.0.

            I have 3 repositories linked to my build, they all use develop by default. Only plan branches are derived from the first listed repository

            • repo1 - develop
            • repo2 - develop
            • repo3 - develop

            My assumption is that a plan branch should be created from any of these 3 repositories, it appears only to create them from repo1 not repo2 or repo3. In Plan Configuration if i navigate to branch and use the Create plan branch i can only see branches that exist in repo1  and no option to even select another repository to do that manually.

             

            This is evident by the fact it you change your ordering of repositories with automatic branching enabled it warns you to first change your branching configuration (set it to manulally)

             

            What i would expect is that any repository listed would generate a new plan branch using that plan branch specifically for the build and defaulting to the default of any of the other branches unless there is an exact matching branch name in the other repository.

            Stuart James added a comment - Not sure this feature actually works on version 6.5.0. I have 3 repositories linked to my build, they all use develop by default. Only plan branches are derived from the first listed repository repo1 - develop repo2 - develop repo3 - develop My assumption is that a plan branch should be created from any of these 3 repositories, it appears only to create them from repo1 not repo2 or repo3. In Plan Configuration if i navigate to branch and use the Create plan branch i can only see branches that exist in repo1   and no option to even select another repository to do that manually.   This is evident by the fact it you change your ordering of repositories with automatic branching enabled it warns you to first change your branching configuration (set it to manulally)   What i would expect is that any repository listed would generate a new plan branch using that plan branch specifically for the build and defaulting to the default of any of the other branches unless there is an exact matching branch name in the other repository.
            David Buckley made changes -
            Link New: This issue followed by BAM-19898 [ BAM-19898 ]

            Perhaps this is what I'm looking for: https://jira.atlassian.com/browse/BAM-19898.

            David Buckley added a comment - Perhaps this is what I'm looking for: https://jira.atlassian.com/browse/BAM-19898 .

            Is it possible to do this automatically?

            Given a plan with two repositories, main and side, where each has two branches:

            • /main
              • > master
              • feature/new-button
            • /side
              • > master
              • feature/new-button

            Bamboo creates a plan branch for feature/new-button and sets main to the repository branch to feature/new-button. However, side stays on branch master, regardless of whether the branch is the same name or not, like so:

            • /main
              • master
              • > feature/new-button
            • /side
              • > master
              • feature/new-button

            I can go into the plan branch configuration and add feature/new-button manually, but is it possible for Bamboo to pick this up automatically? Or configure this externally, e.g. through the REST API? With the REST API I only see the option to query the available plans and add a new plan branch, but nothing about configuring them. I also tried supplying the suggested variable ${bamboo.buildBranch} as the branch name (both for Linked and non-linked repositories), but the build fails as it's unable to find the branch "${bamboo.buildBranch}" (quite obviously).

            We have numerous connected plans each with different repositories and doing this manually is time-consuming and prone to error. I actually got the impression from most of these comments that doing it automatically was the desired behaviour.

            Is it possible to do this? If not, is there a workaround? Or an open ticket for this?

            David Buckley added a comment - Is it possible to do this automatically? Given a plan with two repositories, main and side , where each has two branches: /main > master feature/new-button /side > master feature/new-button Bamboo creates a plan branch for feature/new-button and sets main to the repository branch to feature/new-button . However, side stays on branch master , regardless of whether the branch is the same name or not, like so: /main master > feature/new-button /side > master feature/new-button I can go into the plan branch configuration and add feature/new-button manually, but is it possible for Bamboo to pick this up automatically? Or configure this externally, e.g. through the REST API? With the REST API I only see the option to query the available plans and add a new plan branch, but nothing about configuring them. I also tried supplying the suggested variable ${bamboo.buildBranch } as the branch name (both for Linked and non-linked repositories), but the build fails as it's unable to find the branch "${bamboo.buildBranch}" (quite obviously). We have numerous connected plans each with different repositories and doing this manually is time-consuming and prone to error. I actually got the impression from most of these comments that doing it automatically was the desired behaviour. Is it possible to do this? If not, is there a workaround? Or an open ticket for this?
            Owen made changes -
            Issue Type Original: Improvement [ 4 ] New: Suggestion [ 10000 ]

              mparfianowicz Marek Parfianowicz
              38fcfa868271 Bruce Campbell
              Votes:
              372 Vote for this issue
              Watchers:
              217 Start watching this issue

                Created:
                Updated:
                Resolved: