How to bulk edit the summary field

Shiva Dainak November 23, 2020

I need to add an additional common text ( heading of the parent issue) to all the subtasks. 

I tried doing this with bulk edit, but bulk editing of 'summary' field is not allowed in JIRA. 

I think JIRA should allow the bulk edit option for summary field ( only - 'add to existing text'). 

6 answers

13 votes
Ste Wright
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
November 23, 2020

Hi @Shiva Dainak 

If you're a Jira Admin, you can do this using CSV Import.

This is how I'd do it:

  1. Go to Filters > Advanced Issue Search
  2. Search for all sub-tasks which need to be modified
  3. Make sure Summary is one of the visible columns, then press Export > Export Excel CSV (current fields)
  4. Modify the Summaries in Excel in bulk
  5. Ensure the Issue Key remains on the CSV file, along with the Summary, then re-save the file.
  6. Next, as a Jira Admin go to Settings > System > External System Import
  7. Select CSV, and follow the steps to upload your file. Ensure when mapping the fields you map "Key" to "Issue Key" so the importer updates the existing issues, rather than creating new ones

For more information on updating issues via CSV import, see this page - specifically the section Updating existing issues

Ste

כל זכות
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
October 25, 2021

I love you, @Stephen Wright _Elabor8_. This saved me a lot of time.

Like # people like this
Ismoyo Eko Purwanto January 23, 2022

hi @Stephen Wright _Elabor8_ 

I have an error when importing the data. I just want to bulk edit labels, so I just map : Summary (as required one), Issue Key and Labels. 

Here is the screenshot of the error. Please advise. Thank you.

Kind Regards,
Moyo

Screen Shot 2022-01-23 at 21.10.49.png

Ste Wright
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
March 23, 2022

Hi Ismoyo,

Did you rectify this issue?

Ste

Ritu.Nikhildebnath
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
April 12, 2022

Hi Stephen, hope you are doing well!

Thanks for detailed steps to edit Summary - I intend to correct summary of 4 user stories (screenshot attached)..

Followed the steps and tried to upload .csv file with Issue Key and Summary.. Under mapping, Summary is under "Summary" but for "Issue Key" - I couldn't find "Key" field in JIRA , option available is "Issue ID" - please find screenshot attached.

Should I select Issue ID ? Please advise, Thank you!

Ritu.Nikhildebnath
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
April 12, 2022

Capture.PNGCapture 2.PNG

Ste Wright
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
April 18, 2022

Hi @Ritu.Nikhildebnath 

Can I confirm which CSV Import tool you are using?

  • Is it via Filters > Advanced Issue Search > Options > Import Issues from CSV?
  • Or, is it Jira Settings > System > External System Import?

You need to use the latter for updates.

Ste

Nick Berger
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
April 24, 2022

Hi @Stephen Wright _Elabor8_ 

I have the same problem & I'm using the External System Import

Nick

Ste Wright
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 6, 2022

Hi @Nick Berger 

Tested this and it works fine on our system.

What options do you see when trying to select from the list?

Ste

Laura Anderson January 9, 2023

Hi Stephen @Stephen Wright _Elabor8_ 

I tried your method with 2 tickets (thankfully) and the system created two (2) new tickets.

I only wanted to change summary field so in addition to "Key Issue" field I included "Summary" and two lines showing data for those two fields only.

I got two new tickets with a new Key Issue # and Summary that included the old Key Issue # and Summary data I provided.

Was I wrong in thinking that the system would update only the Summary data?  if not, what do I need to do, please?  We don't want new tickets - only the Summary field updated in the existing tickets.

TIA

Ste Wright
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
January 9, 2023

Hi @Laura Anderson 

Can I confirm which CSV Import tool you are using?

  1. Is it via Filters > Advanced Issue Search > Options > Import Issues from CSV?
  2. Or, is it Jira Settings > System > External System Import?

You need to use (2) for updates.

If you are using (2), assuming this is for one Project, your CSV file will require the Issue Key you're looking to update, and the Summary field, at minimum.

You then need to ensure the Issue Key is aligned to the correct "Issue Key" field when mapping the fields. This mapping needs to be correct for an update to be made, rather than a new issue creation (which is the default otherwise).

Ste

Laura Anderson January 11, 2023

Hi @Stephen Wright _Elabor8_ thanks for replying - sorry for the delay in my response.

I've exported the tickets into a CSV file, changed the Summary field, and are using 'Import Issues from CSV'.

it's the Summary field that I need to change the data in - no other fields.  Wondering why the Issue Key isn't sufficient to link the change.

Ste Wright
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
January 11, 2023

Hi @Laura Anderson 

Are you accessing the Import Issues from CSV via...

  1. Filters (on the top navigation) bar
  2. Advanced Issue Search (from the drop-down menu)
  3. Pressing the breadcrumbs (3-dots icon) > Import Issues from CSV

...?

If yes, this is the user importer, which can only create new issues, not import updates to them in bulk.

---

To perform updates, you'll need to use the Jira Admin Importer - you'll need to be a Jira Admin, and then:

  1. Select Settings (cog icon in top-right) > System
  2. Choose External System Import from the left-hand menu
  3. Select CSV, and follow the instructions

Ste

3 votes
Monica Morris August 22, 2023

I have a way of doing this that I think is even easier than the solutions above. I'm on Jira Cloud, so this might not work on Jira Server.

  1. Save all the issues where you want to add to the summary in a filter
  2. Create an automation rule
    • Trigger: Scheduled trigger, you can do every 15 minutes but the interval doesn't really matter. Have the trigger search for and only act on issues that are in the filter.
    • Action: Edit issue fields, if you want to add to the summary use the smart value {{issue.summary}} + the text you want to add to the summary
  3. Publish and enable the rule
  4. Run the rule (there is a manual trigger next to where you enable/disable the rule)
  5. The rule will act on the issues saved in your filter
  6. Disable the rule
Sriharsha January 11, 2024

By far the only easiest solution. Thank you so much

Like Monica Morris likes this
Monica Morris January 11, 2024

Glad this is helpful @Sriharsha , please vote for my solution if you haven't already :)

1 vote
Marlene Kegel - codefortynine
Marketplace Partner
Marketplace Partners provide apps and integrations available on the Atlassian Marketplace that extend the power of Atlassian products.
November 25, 2020

Hi @Shiva Dainak and welcome to the community!

You can also use our Jira cloud app Advanced Bulk Edit for Jira to bulk edit the summary.

With our app you can:

  • Add text as a prefix
  • Add text as a suffix
  • Replace terms with other terms (e.g. replace "bunny" with "rabbit)

Don't hesitate to contact our support if you have questions or feedback about Advanced Bulk Edit for Jira.

0 votes
Georgi Tunev
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
July 31, 2023

You probably don't need this anymore, but I had this problem the last couple of days and I managed to solve it via custom automation.

Important: make sure to use the "Add value to the audit log" action in order to make sure that your code will work as expected. The changes that you will make are irreversible.

 

My case - I am migrating from Zendesk to JSM and I wanted to add the original Zendesk ID to the summary of the migrated Jira ticket. Here is what I did:

  1. I added the Zendesk ID as a custom field in the migrated ticket. I also got the reference to that custom field.
  2. I created an automation with a Scheduled trigger and a JQL search that would ensure that I will be working only with the tickets in that particular project (e.g. my JQL was something like "project = TSM").

    Important: The reason why I used a Scheduled trigger is tht it has a "Run rule" option that allows me to run it immediately after creating it. Do not forget to disable the automation after that :)
  3. I added a condition where I make sure that the summary does not already contain such ID (e.g. Issue Field Condition > Summary / does not contain / "ZD id" )
  4. Finally I added the action that would change the Summary field (e.g. Edit Issue / choose to set the Summary field) and used the following as my replacement code: {{issue.summary}} (Zendesk ID: {{issue.customfield_10120}})

    IMPORTANT
    : use the "Add value to the audit log" action first, to make sure that your replacement string will work correctly. In my case I used to log "Key: {{issue.key}}; ZD id: {{issue.customfield_10120}}" and continued only when I saw in the audit log that it gets the field's value correctly, i.e. the result was something like "Key: TSM-42; ZD id: 1272"
  5. Once the rule was published, I used the "Run rule" option.
  6. I disabled the automation rule after confirming that the renaming operation went successfully.
0 votes
Laura Anderson January 9, 2023

@Stephen Wright _Elabor8_  Hi Stephen - you there?

0 votes
VVor February 24, 2022

If you have a ScriptRunner plugin, then you can create a Listener with it, which will do the job.
I did it this way:

  • created a new custom "text single line" field - Summary_hidden (without adding it to screens), with "Indexing" switched to Off
  • created a Custom Listener for Issue Created & Issue Updated events

The Listeners code do the job - when it is triggered it takes data from hidden field and put it into the system field, then do re-index. The Summary_hidden field is visible on the Bulk Edit page.


import com.atlassian.jira.event.issue.IssueEvent

import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.event.type.EventDispatchOption

import com.atlassian.jira.issue.Issue
import com.atlassian.jira.component.ComponentAccessor

import com.atlassian.jira.issue.index.IssueIndexingService
import com.atlassian.jira.util.ImportUtils

import com.atlassian.jira.issue.fields.CustomField

Issue issue = event.issue
IssueManager issueManager = ComponentAccessor.getIssueManager()
def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
MutableIssue issueMutable = (MutableIssue) event.issue
final String CUSTOM_FIELD_ID_FOR_SUMMARY_HIDDEN = "customfield_11900"
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def cf = customFieldManager.getCustomFieldObject(CUSTOM_FIELD_ID_FOR_SUMMARY_HIDDEN)

String summaryValue = issue.getSummary()
String summaryHiddenValue = issue.getCustomFieldValue(cf)

String eventTypeName

if (event instanceof IssueEvent)
{
Long eventTypeId = event.getEventTypeId();
def eventTypeManager = ComponentAccessor.getEventTypeManager()
eventTypeName = eventTypeManager.getEventType(eventTypeId).getName()
//debug
//log.warn("SummaryChanger: eventTypeName=="+eventTypeName+" JRA_ID=="+event.issue.key)
//debug
}
else
{
return
}

def changeLog = event?.changeLog
def changeItems = changeLog.getRelated("ChildChangeItem")
Boolean IssueSummaryChanged = changeItems?.find{ it.field == "summary"}
Boolean IssueSummaryHiddenChanged = changeItems?.find{ it.field == "Summary_Hidden"}

//debug
//changeItems.each{log.warn("SummaryChanger: Items: "+it)}
//debug

Boolean needIssueReindex = false

if ((eventTypeName == "Issue Updated" && IssueSummaryChanged) || (eventTypeName == "Issue Created")) // filling the hidden field. if you need it.
{
issueMutable.setCustomFieldValue(cf,summaryValue) // копируем новое summary в скрытое поле
issueManager.updateIssue(currentUser, issueMutable, EventDispatchOption.DO_NOT_DISPATCH, false)
//needIssueReindex = true
}
else if (eventTypeName == "Issue Updated" && IssueSummaryHiddenChanged) // summary_hidden updated via bulk update (field is not on any screens, so bulk update is the only possibility to change it)
{
issueMutable.setSummary(summaryHiddenValue)
issueManager.updateIssue(currentUser, issueMutable, EventDispatchOption.DO_NOT_DISPATCH, false)
needIssueReindex = true
}

if (needIssueReindex)
{
def issueIndexingService = ComponentAccessor.getComponent(IssueIndexingService)
Boolean wasIndexing = ImportUtils.isIndexIssues()
ImportUtils.setIndexIssues(true)
//debug
// log.warn("SummaryChanger: Reindex issue ${issue.key} ${issue.id}")
//debug
issueIndexingService.reIndex(issueManager.getIssueObject(issue.id))
ImportUtils.setIndexIssues(wasIndexing)
}

I'm a newbie to the Java/Groovy, so, please do not blame me ;)

Suggest an answer

Log in or Sign up to answer