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

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!

7 answers

1 accepted

This widget could not be displayed.

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.

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

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...

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

This widget could not be displayed.

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)
This widget could not be displayed.

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.

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

This widget could not be displayed.

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

Hi Avinash,

Could you advise where to put thoes codes?

This widget could not be displayed.

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.

This widget could not be displayed.

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

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.

I know the reason.

I need to install "Field Security" add-on

Hi, Avinash

The code is to hide only one issue.

Could you advise how to hide the whole project?

This widget could not be displayed.

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

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....

Suggest an answer

Log in or Sign up to answer
Atlassian Summit 2018

Meet the community IRL

Atlassian Summit is an excellent opportunity for in-person support, training, and networking.

Learn more
Community showcase
Posted Wednesday in New to Jira

Are you planning to trial, or are currently trialling Jira Software? - We want to talk to you!

Hello! I'm Rayen, a product manager at Atlassian. My team and I are working hard to improve the trial experience for Jira Software Cloud. We are interested in   talking to 20 people planning t...

112 views 2 0
Join discussion

Atlassian User Groups

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

Find a group

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

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you