It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Is it possible to delete History records of an issue like the deletion of comments?

Dan Lohaus Jan 10, 2012

I am interested it there is a security setting that I missed or if a plugin exists for the deletion of History records under the Activities Area of the View Screen. I was hoping that it would ast similar to the deletion of Comments but I didn't see anything in the Permission Schemes.

The reason for having this capability is the possibility of entering data(either proprietary, classified, embarassing, insulting, etc.) in a field that shouldn't have been. I can edit the issue to change the value but the history still displays the Old Value.

Is going to the database directly my only choice?

Thanks in advance!

8 answers

1 accepted

2 votes
Answer accepted
Nic Brough [Adaptavist] Community Leader Jan 11, 2012

No, you have to do this in the database. I've not seen any plugins that would solve the problem either.

Although I have done this a couple of times, it's been quite rare, but I've only really worked in media and financial fields, where the data, widely shared, was not particularly public. I imagine it could be a lot more important in public systems.

Dan Lohaus Jan 11, 2012

Thanks for the quick response; although I was hoping for a different one. Oh well, into the database I go.

Nic Brough [Adaptavist] Community Leader Jan 11, 2012

Sorry, I should also have said - I wouldn't recommend deleting the changes. The way changes are logged is complex, you'd need to hit the tables changegroup and changeitem for each change, and then think about whether changegroup needs deleting and so on.

If you do want to delete bits of the history, I recommend that you only *update* changeitem. Replace or remove the sensitive stuff (on the odd times I've done this, I've said something like "senstive information removed by admins"). That saves you needing to think about changegroup, it's quicker and easier, and you won't end up with users saying "Hey, why isn't my change logged".

Also, if you do mess with SQL, the procedure is

  1. Stop Jira
  2. Get a backup of the database
  3. Test the backup is good
  4. Make your amendments
  5. Restart Jira
  6. Re-index it

The stop and start is *mandatory* or you could damage something quite badly. The backup isn't worth skipping. The re-index is very important because if someone put in "I hate windows" and you redacted that in the database, it'll remain searchable in the index, issue navigator, reports, downloads etc, until a reindex replaces it...

Dan Lohaus Jan 26, 2012

Thanks Nic! That's a great idea! I appreciate the help!

5 votes
Ravikanth Gonela Oct 25, 2016

If you have script runner plugin you can run the following. replace ABC-1234 with your own issue key. Don't forget to test it in a test env first.

import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.component.ComponentAccessor
def issueManager = ComponentAccessor.getIssueManager()
Issue issue = issueManager.getIssueObject("ABC-1234")
def changeHistoryManager = ComponentAccessor.getChangeHistoryManager()
changeHistoryManager.removeAllChangeItems(issue)
2 votes
Avinash Gautam May 11, 2018

Hi All,

 

Is it possible to hide History Tab for one project. I see the below code is been used for hiding specific issues

import com.atlassian.jira.component.ComponentAccessor
def issueManager = ComponentAccessor.getIssueManager()
Issue issue = issueManager.getIssueObject("ABC-1234")
def changeHistoryManager = ComponentAccessor.getChangeHistoryManager()
changeHistoryManager.removeAllChangeItems(issue)

 

Please let me know. Thanks!

--Avinash Gautam

Young.Zhao May 22, 2018

Hi Avinash,

Could you advise where to put thoes codes?

1 vote
Chris Stemen Jul 07, 2015

I ran into a similar situation (where the Tech Lead decided to grab everyone's attention by putting 1000 as the SP for a few stories).  Fortunately, that team had not moved those stories into a sprint (not sure why any team would put such an estimate into their sprints during planning to begin with), so I cloned the stories and then deleted the originals.  The cloning does not carry over the history as it starts its own thread.  After replacing the stories in the backlog, and deleting the old ones, the reporting went back to normal.

I would assume there might be some ramifications if the stories had been put in a sprint, but again - I doubt you would have done this considering the estimate.

Max Cascone Oct 16, 2017 • edited

This happened to me through a fat-finger where a story got changed to 1920 points. Now the burndown looks horrendous.

0 votes
Young.Zhao May 22, 2018

Hey, I have the same problem.

We will have some PII changes in a field that will reflect on history.

For security concern, we would not like some agents to see PII info.

Appreciate someone can help with it instead of doing sth in DB.

0 votes
Avinash Gautam May 22, 2018

Hi  Young,

 

You can use these in the scriptrunner plugin. Install in JIRA and then go to script Fragment section of the plugin.

 

Select the update history class/method and put this code. This code will work for only one issue. You can try to make it generic. PFA screenshots.

 

import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.component.ComponentAccessor
def issueManager = ComponentAccessor.getIssueManager()
Issue issue = issueManager.getIssueObject("ABC-1234")
def changeHistoryManager = ComponentAccessor.getChangeHistoryManager()
changeHistoryManager.removeAllChangeItems(issue)

 

SC1.png

Young.Zhao May 23, 2018

Hi Avinash,

Thanks for the prompt reply.

I tired as you told me, but I can't find "updatehistory" in "Hide What" field.

Capture.PNG

Could you advise that something I missed?

Thanks.

BR.

Young.Zhao May 23, 2018

I know the reason.

I need to install "Field Security" add-on

Young.Zhao May 23, 2018

Hi, Avinash

The code is to hide only one issue.

Could you advise how to hide the whole project?

0 votes
Avinash Gautam May 24, 2018

Hi Young,

 

I am also looking for the same. I have tried my self but it is not working. We need to find how we can use the project object for HistoryManager class methods. Thanks!

 

--Avinash Gautam

Young.Zhao May 24, 2018

Hi Avinash,

If we expand the example, there is one for the whole project.

"jiraHelper.project?.key in ["YTP"]" (YTP is a project key), but it's not working for sure....

0 votes
Fayaz Abdul Apr 05, 2019

Hello guys,

I found a plugin, it may useful to you.

"Issue history Item Remover"

Install this plugin in your find new apps.And you will get trash(bin symbol) on comments in history as shown below in red.
Screenshwithmodified.png 


Cheers,

Fayaz

Suggest an answer

Log in or Sign up to answer
This widget could not be displayed.
This widget could not be displayed.
Community showcase
Published in Next-gen

Introducing subtasks for breaking down work in next-gen projects

Teams break work down in order to help simplify complex tasks. This is often done iteratively, with tasks being broken down into smaller tasks and so on until the work is accurately captured in well-...

12,538 views 61 59
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you