TELCOMA Global  /  Merge Requests for Jira Service Management  /  Documentation

Merge duplicate requests into one main request.

Merge Requests lets an agent merge duplicate requests from the request itself. Comments, files, request participants, organizations, watchers and issue links are copied to the main request, and each duplicate is linked as a Duplicate and closed. Nothing changes until the agent has seen a preview and clicked Merge.

Install

Three steps, all inside Jira.

STEP 1

Find the app

In Jira go to Settings → Apps → Find new apps and search for Merge Requests.

STEP 2

Start the free trial

The app is paid per agent through the Atlassian Marketplace. The trial rolls into a subscription unless you cancel it from Manage apps.

STEP 3

Approve the permissions

The app reads requests and can add comments, files, participants, organizations, watchers and links, and move a duplicate to a done status. It cannot delete anything.

Jira administrators open the settings under Settings → Apps → Merge Requests. Agents see Merge requests in the ••• menu on requests in service projects. Customers and people without agent features never see it.

Turn it on for a project

Merging is off until you turn it on.

The Service projects section lists every service project on the site, with Merging (On or Off), the Done status and the Resolution. Click Edit on a project:

  • Agents can merge requests in this project turns merging on or off.
  • Move the duplicate to this status: only statuses in the Done category of the project's workflows are listed. The agent who merges, and the app, which makes the change, both need a transition to it from the duplicate's status. You can't turn merging on without a done status.
  • Resolution: a resolution, or Leave it to the workflow. A resolution can only be set if the Resolution field is on that transition's screen. If it isn't, the duplicate is closed without it and the merge says so.

The window shows who saved the project last. If a saved status or resolution has since left the project's workflows, the window says so and asks you to choose another.

For every project

Customer emails and the largest file to copy.

Jira has no way to add a public comment without emailing the customers on the request. The app does not pretend otherwise. Under Customer emails you choose one of two settings:

  • Keep public comments public and tell customers on the duplicate where their request went. Public comments are copied as public, and Jira emails the customers on the main request about each one. The duplicate gets a public comment telling its customers where their request went.
  • Avoid customer emails where Jira allows it. Public comments are copied as internal comments, marked "public there, copied as internal", so Jira sends no customer email about them, and customers won't see them on the portal. The duplicate gets no public comment. Its customers become participants of the main request and can find it in their requests on the portal. This is the setting a new install starts with.

With either setting, people added as request participants may get Jira's "participant added" email, members of an organization added to the main request may get its "organization added" email, and closing the duplicate may send its "resolved" email. The app can't turn these off; a project admin can, under the project's Customer notifications. Jira may also notify the main request's watchers about each copied comment, as the project's notification scheme says. The box What Jira does with this choice shows this next to the setting, and the preview repeats it.

Largest file to copy (MB): a whole number from 1 to 25. New installs start at 10. Larger files are left out and listed on the merge and in the log, so the agent can add them by hand.

If another admin saved the settings while you were editing, the page says so and offers Reload.

Start a merge

From the request, in the ••• menu.

On a request in a service project, open the ••• menu and choose Merge requests. The window asks What is SUP-1? (the request you are on):

  • SUP-1 is the main request. Merge duplicates into it. The search lists open requests in the same project, and you tick the duplicates under Choose the duplicates. A duplicate must be open.
  • SUP-1 is a duplicate. Merge it into another request. The search lists any request in the project, and you choose one under Choose the main request. A closed request can only be the main request.

Type a key or words from a request and click Search. The 20 newest matches are shown, and the window says when there are more. A request you chose before another search stays on the list. You can merge up to 10 duplicates at a time. Click Preview the merge.

If merging isn't turned on for the project, or no done status is set, the window says Merging is not set up here and names what a Jira admin needs to do.

The preview

Everything that will move, before it moves.

The app reads every request as you and shows, for each duplicate:

  • How many comments will be copied, public and internal. With Avoid customer emails, the line says they are all copied as internal.
  • How many files will be copied, and each file left out with the reason: over the size limit, already on the main request (same name and size), or the same name and size as another file being copied.
  • New participants, new organizations, new watchers and issue links. Links and comments that can't be copied are listed with the reason.
  • What happens next: the duplicate is linked as a duplicate of the main request, both requests get an internal note, and the duplicate is moved to the done status (and resolution) your admin chose. Comments added to the duplicate while the merge runs are copied too.

This merge cannot start lists anything that stops it, for example a request from another project, a closed duplicate, a request already in a merge that hasn't finished, no "Duplicate" link type on the site, no transition to the done status, or a permission you lack. A main request that is closed as a duplicate of another request is refused, and the preview names the request to merge into instead.

Good to know lists warnings: that the app is the author of the copies, which emails Jira may send, when the duplicate's reporter is not on the main request yet and shares no organization with it (they will see its public comments), when an organization will be added (its members will see the main request on the portal), and when the main request is closed (the merge won't reopen it).

Click Merge to start, or Back to change your choices. When you click Merge, the app builds the preview again from scratch before it changes anything.

What a merge does

The same steps, in the same order, for each duplicate.

  1. Copying comments. Oldest first, after the main request's own comments. Each copy starts with a line such as Copied from SUP-2 · Written by [author] on 2026-11-02 10:04 UTC · public · Merged by [agent]. A comment keeps its public or internal setting and any role or group restriction. Mentions become plain text, so nobody is notified twice. An image embedded in a comment is replaced by a short note; the file itself is copied in the next step.
  2. Copying files, up to the size limit, one at a time, if you can add attachments to the main request.
  3. Adding request participants: the duplicate's reporter and its participants.
  4. Adding organizations the main request doesn't have yet. Existing ones are kept.
  5. Adding watchers, if you can see them and manage the main request's watchers.
  6. Copying issue links, pointing the same way as on the duplicate, up to 100 per duplicate.
  7. Linking as Duplicate: the duplicate "duplicates" the main request.
  8. Copying comments added during the merge, in case a customer replied while files were copied.
  9. Adding the merge notes: an internal note on the main request saying what was copied and naming any files not copied, and an internal note on the duplicate saying where it went. With tell customers on, the duplicate also gets a public comment telling its customers where their request went.
  10. Closing the duplicate: moved to the chosen done status with a transition you can use, with the resolution if the transition screen allows it.

The merge runs in the background. The window shows the step it's on, and you can close it; the merge carries on. When it's done, the window says Merged and lists what was copied for each duplicate, what was not copied and why. Refresh the request to see the copies. Start another merge takes you back to the start.

Nothing is copied twice. Each copied comment carries a marker, and files already on the main request with the same name and size are skipped, so a merge that stopped and carried on, or a new merge after one that stopped, doesn't repeat anything.

When a merge stops

It says where, and the duplicate stays open.

A merge stops at its step, with Jira's reason, when Jira refuses a comment even as plain text, a file upload fails for a reason other than size, there is no "Duplicate" link type, there is no transition to the done status the app can use, or Jira keeps failing. The window shows Stopped at: and the step, and Try again carries on from that step. Any agent of the project can press it, and the app checks that agent's permissions again first.

Some things are only listed as not copied, and the merge goes on: a file over the limit or a duplicate file, a file Jira won't read, a person Jira won't add as a participant or watcher, an organization Jira won't take, a link to an issue you can't link, and a restricted comment Jira won't take back with the same restriction. A restricted comment is never copied with a wider audience.

A comment Jira won't accept as it is, for example one close to Jira's size limit, is copied once as plain text, cut at 30,000 characters, and the merge says so.

On a Jira rate limit the merge waits as long as Jira asks and carries on. After many failures in a row with no progress, it stops at its step. If a merge hasn't moved for 20 minutes, the window says so and offers Restart from where it stopped.

Under Earlier merges with this request, the window lists past merges that included the request, with their result. Click Open to see one. Requests in a merge that you can't open are counted, not named.

Who can merge

Agents, with the right permissions on every request.

Before the preview, at the start and on Try again, the app asks Jira, as the person on the page, whether they can:

  • on the main request: be an agent of the service project, see it, edit it, add comments, link issues, and add attachments when there are files to copy;
  • on each duplicate: be an agent of the service project, see it, edit it, add comments, link issues, and change its status.

A link that starts at an issue in another project is copied only if you can link issues in that project. Watchers are copied only if you can see them and manage the main request's watchers. Without permission to add attachments to the main request, a file added to a duplicate after you start is listed as not copied. Each duplicate is closed only with a transition you can use; the app never picks another one.

The changes themselves are made by the app in the background, so Jira's history shows the app as the author of the copies. Each copied comment and the notes on both requests name the agent who started the merge (or who last pressed Try again). The app's own access comes from Jira's atlassian-addons-project-access project role. If a project's permission scheme leaves that role out, or a workflow condition hides the done transition from the app, the merge stops at that step and leaves the duplicate open.

Only Jira administrators can open the settings page and the log. The app checks this on every request.

The merge log

Every merge, written down before anything changes.

Merge log

On the settings page: Started, Main request, Duplicates, Agent, Result (Waiting to start, Running, Merged, Stopped or Not moving), Copied and Not copied. 20 merges per page, with Newer and Older.

Details

Who started the merge and when, who continued it, where it stopped and why, and for each duplicate what was planned, what was copied, up to 30 items not copied with Jira's reason (any more are counted), and whether it was closed.

Download the log as CSV

Columns: Started (UTC), Finished (UTC), Project, Main request, Duplicates, Agent, Result, Comments copied, Files copied, Participants added, Organizations added, Watchers added, Links copied, Not copied, Stopped at, Error. Built in your browser.

Kept and safe

The log keeps the newest 200 merges and deletes older ones. Cells that a spreadsheet would read as a formula are written as plain text.

What it can't do

Limits worth knowing before the first merge.

  • One service project at a time. Requests are merged within one project only.
  • No undo. The app can't undo a merge. The log and the notes on both requests say what was copied, so it can be undone by hand.
  • Copied files are new uploads. They show the app and the merge date, not the original uploader and date. Files over the limit (25 MB at most, 10 MB unless you change it) are left out and listed.
  • Not moved: satisfaction ratings, SLAs, time logged, history and approvals, web links and Confluence page links. Only links between Jira issues are copied.
  • Comments the app can't read. A comment restricted to a role or group the app is not in can't be copied. The preview lists it, so you can copy it by hand.
  • Customer emails. Jira can't add a public comment, add a participant or close a request without its own customer emails. The app tells you which ones to expect.
  • Order and dates. Copied comments come after the main request's own comments. Each copy shows the original author and date (in UTC) on its first line.
  • Turning merging off lets a merge already running finish. New merges and Try again are refused from then on.
  • The request behind the window doesn't update itself. Refresh it to see the copies.

Your data

Nothing leaves Atlassian.

What it reads

The requests in a merge: status, reporter, comments with their visibility, files, participants, organizations, watchers, links and transitions. Also service projects, done statuses, resolutions, and names of people when a page is shown.

What it changes

Only the requests in a merge the agent confirmed. It adds comments, files, participants, organizations, watchers and links to the main request, and links, notes and closes the duplicate. It never deletes anything.

What it stores

Settings, and the merge log with issue keys, counts, the names and sizes of files not copied, and people as account IDs only. No comment text, file content, names or emails of people. The newest 200 merges are kept, in Atlassian's own storage for your site.

Where it goes

Nowhere. No servers of our own, no requests outside Atlassian. Files are copied from one request to the other inside Atlassian. The CSV is built in your browser.

Full details in the privacy policy.

Frequently asked

The questions admins and agents ask first.

How is it priced?

Per agent, billed through Atlassian, with a free trial. The price will be on the Atlassian Marketplace listing.

Will customers get emails?

It depends on the Customer emails setting, and Jira sends some emails either way. The settings page and the preview list exactly which ones.

Can a merge be undone?

Not by the app. The notes on both requests and the log say what was copied, so you can undo it by hand.

Why does Jira show the app as the author of the copies?

The copying runs in the background, after the agent's checks, and Forge makes those changes as the app. Each copy names the agent who merged.

What if the duplicate has a huge file?

Files over the limit you set (1 to 25 MB) are left out and listed on the merge, in the note on the main request and in the log, so the agent can add them by hand.

Can I merge requests from two projects?

No. Both requests must be in the same service project.

Support

Ask the people who built it.

When reporting a problem, include your site URL, the request keys and what you expected to happen. We never need passwords or tokens.

Get help

One business day, usually much less.

Email
[email protected]
Support page
Known limits, what to include, status
Response time
Within one business day
Email support