bruno icon indicating copy to clipboard operation
bruno copied to clipboard

Feature Request: allow us to clone an API request between collections

Open ssnyder opened this issue 2 years ago • 5 comments

I can technically do this by copying the .bru file into the other directory, but why can't the GUI do this for me?

This came up because I am trying to merge some new API requests into my collection from someone else's larger collection that I have access to (via postman import). I'm just trying to copy 4 of the 75 requests but have to save everything, go to the command line or explorer window (yeah, I'm stuck with windows right now), and copy the files on my own. Not the biggest deal, but a pain. So this is a "nice to have" feature.

ssnyder avatar Nov 01 '23 21:11 ssnyder

I have experienced this too. I can clone the request, but then you cannot drag & drop to a different collection.

pove avatar Nov 02 '23 12:11 pove

It would be a major usability gain if we could drag&drop between collections or at least copy&paste. I used this a lot in other clients to organise my stuff or jump-start a new project.

vlehm avatar Dec 13 '23 08:12 vlehm

Yeah I have the same experience, specifically when transitioning between staging. I wish we have this feature implemented soon.

notwatermango avatar Apr 13 '24 23:04 notwatermango

How is such a basic feature not supported?

erik9631 avatar Sep 07 '24 13:09 erik9631

Agreed, seems like a basic feature that should be supported. Ideally, right click on the request, have an option to copy. Right click on the destination folder, regardless of which collection, and paste.

Drag and drop would be nice too, but the workflow of cloning a request, needing to rename it, then drag and drop, and then rename again seems like too many steps for something that should be simple

That-1-QA avatar Oct 01 '24 13:10 That-1-QA

Does this already allow it? I'm trying to organize the collections imported from Postman and I can't. From several import files, which have to do with the same project that in Postman was grouped in a workspace, in Bruno I can't organize them in a single collection, it doesn't even allow me to copy the request from one collection to another. What can I do?

ramunozp avatar Nov 04 '24 14:11 ramunozp

What can I do?

Currently there are two workarounds that I have found, neither of which are ideal.

  1. Import collections into a common location not used for anything else, and then add files to turn that folder into a collection
  2. Manually copy and paste required .bru files

For me, I'm currently using 1. above, though this does have its downsides. Mostly just that you have no ability to set/use per-collection options while opening the collection in this manner, though any that you have set within the existing collections will be untouched. If you don't have anything that would require that, and use common collection config across them all, then this would likely be the ideal way of managing collections for now.

To do this:

  1. Import all collections to a folder, Bruno will create a directory specific to the collection, so use the same "location" for each collection on the import dialog
  2. Copy the bruno.json and collection.bru from one of the collections, and paste it into the parent folder used for all of the collections
  3. Close all open collections in Bruno
  4. Update the bruno.json in the parent folder, giving it a new name to reflect that it's the workspace, and then updating any of the other Collection details as needed. Headers/Tests/Scripts/Auth etc.
  5. Open that parent folder as a collection using the Open Collection option from the Collection menu in Bruno
  6. Copy/move requests as needed between the collections
  7. Close the "Workspace" level collection, and then open the individual collections as needed to continue to work on them

That-1-QA avatar Nov 04 '24 16:11 That-1-QA

And what about the variables and code, it didn't recognize it? image

ramunozp avatar Nov 05 '24 00:11 ramunozp

Given that this is a baseUrl, I'm going to assume this is being set within the environment. Variables etc should all still work. In Bruno, environments are per collection, not per workspace. Doing the steps I had above, would indeed result in this, if you are trying to use the workspace collection to send requests.

My guess, is that this baseUrl is set within an environment file from one of the collections, and you will need to copy that environment file to the "workspace" folder if you are attempting to run the requests from it, as it wouldn't have any environments at all.

If you've copied/moved requests around, and then closed the workspace collection and opened the sub collections, My guess is that it is still environment file related, and the current environment doesn't have this value set.

That-1-QA avatar Nov 05 '24 13:11 That-1-QA

I wished I could vote this up multiple times

I tried (intuitively)

  • drag and drop (okay, I know dnd is a often a pain to implement nicely)
  • right click => move to... (not an option unfortunately)
  • on a request detail view somewhere

I don't expect dnd to be there for an initial version, I don't expect shift+click multiple items to move them all, but it would really be great to have a simple, basic move to functionality available through context menu.

bkniffler avatar Nov 07 '24 21:11 bkniffler

Right now the only way is to 'generate code' as curl, copy, then create a request, select From cURL and paste

matthieugeerebaert avatar Nov 12 '24 15:11 matthieugeerebaert

Upvoting this as well 😇

christopherhex avatar Aug 06 '25 09:08 christopherhex

Linking this issue here: https://github.com/usebruno/bruno/issues/3320 I think adding an option to drag and drop requests between collections would help solve this for most.

In the future, we could also support Ctrl+C / Ctrl+V (instead of cloning and moving) or a “Move to” option in the right-click menu to make it even smoother.

anusree-bruno avatar Aug 07 '25 13:08 anusree-bruno

Linking this issue here: #3320 I think adding an option to drag and drop requests between collections would help solve this for most.

In the future, we could also support Ctrl+C / Ctrl+V (instead of cloning and moving) or a “Move to” option in the right-click menu to make it even smoother.

That would go a long way to solving this for me!

ssnyder avatar Aug 08 '25 15:08 ssnyder

I have submitted a PR to enable drag-and-drop functionality for requests and folders across collections

jayakrishnancn avatar Aug 24 '25 06:08 jayakrishnancn

Drag and drop of requests between collections is supported from v2.12.0 onwards

anusree-bruno avatar Oct 03 '25 12:10 anusree-bruno

We’ve added copy/paste options in the context menu to allow copying requests across collections. This PR also introduces keyboard shortcuts and support for copying and pasting entire folders between collections: https://github.com/usebruno/bruno/pull/6097

anusree-bruno avatar Nov 20 '25 07:11 anusree-bruno