Clone existing app job

Description of the feature request

I’d like the ability to clone an existing app job.

Use case / for what or how I would use it

Creating new jobs is slow and flaky. Especially if they’re nearly identical. Cloning an existing job would dramatically increase the speed at which new apps can be added.

Hi @bootstraponline,

You can copy the bitrise.yml of an existing project to a freshly created one. What else would you want to copy/clone?

That doesn’t help me create a new job which takes a few minutes. A job must exist before the yml can be copied.

1 Like

Got it, thanks @bootstraponline! :slight_smile:

Just a question: we plan to provide an API endpoint to register a new App, where you’ll be able to provide a bitrise.yml for it right away (skipping the waiting time / scanner which would generate the yml). Would that be a suitable solution?

1 Like

I want a button I can press in the web UI to clone an existing job.

1 Like

Got it, thanks for the feedback! :slight_smile:

This is infuriating, I need duplicate 8 project. Going to waste like an hour. Please implement duplication feature in UI

2 Likes

i need to create alpha/beta/prod versions which only need the source git branch to be changed. A ‘clone app’ button in the GUI would be awesome!

1 Like

I’m also having to do lots of repeated tasks to create a project following a template.

Having that option on UI would be nice, but the API endpoint would be enough!

@viktorbenei do you have an estimate on when that will be ready for use?

1 Like

Why don’t you just use separate workflows? Is there a reason why you actually need to register it as separate apps with separate configs?

API is definitely planned! :wink:

Unfortunately can’t commit to a date yet, but it’s definitely planned for the near future (as much as possible) :wink:

Yes, would love -> Add App -> Workflow Copy From App

1 Like

this feature would save me a lot of time… I’ve spent most of the day waiting for “validation.” Batch creating jobs on bitrise is painful.

This would be much appreciated. My repos are non-public HTTPS repos which aren’t supported by the create-new-app wizard.
I currently have to create new apps by configuring and scanning arbitrary public GitHub repos and then changing the git URL to the real repo once the scanning is complete. It would be much better to clone an existing app.

1 Like

Some reasons why app cloning would work currently where separate workflows within a single app do not:

  • PR trigger settings conflict with scheduled builds. E.g. if a PR merge to master happens while a scheduled build is running, then the running scheduled master build is aborted
  • display a badge for specific scheduled workflows (not branch). E.g. so I can have a table on my GitHub README page that shows a cross-table of build type (alpha, beta, prod) vs device type (iPhone 8, iPhone X, iPhone SE, iPad Air, …). Right now I need a separate app for each of these because the badge only provides for the git branch name (all devices use master)
  • various mono-repo situations. E.g. we currently have 1 repo that builds 4 iOS apps. So we have 4 apps minimum (which is unfortunate, because they all have the same settings except for one value)

Yes, each of these situations could be addressed some other way. E.g. segregating scheduled builds from PRs would be nice. And making badges more granular would be good. But for now, cloning is the least-worst solution. (I’m glad to having something that works, but maintaining them all is quite a task when one little thing needs to be changed!)

Yes, having a command line tool where we could pass in a bitrise.yml to configure every aspect would be great (including app name, app settings), as well as the workflow details.

Hope this helps!

Cheers, Mike

2 Likes

I hope the “clone this app” button will arrive soon!

3 Likes

We would like it. We have a mono repo and want to use the “select builds”. We have two iOS apps that get built. But it is quite onerous to have to completely copy over all the secrets, setup all the associated users, all the login accounts, setup GitHub again, setup the web hooks again. yes, copying the bitrise.yml is fine, but that is the easy part as we already have our own custom bitrise yml that we use. All of this is just to get to use the “selective builds” feature. Which is really a shame, since the idea of that feature is that you can have multiple apps use the same repo but trigger different workflows. Can we do that in a single app rather than separate apps?

Hy, well if you have it in the same app, I think you can do it by specifying the trigger, and use different branches for the 2 different app :thinking: