Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
Community Members
Community Events
Community Groups

Are there postfunctions to delete issues?

We have some issues "Client Initiatives" that are reviewed by the Client and are either - Approved, On hold or Canceled. The approved ones get scheduled into a Sprint/ Release, the On Hold ones sit in the Backlog for future review and reconsideration. So do the Canceled ones.

The management team now does not want to keep the Canceled ones in JIRA, not even out of sight somewhere - they want the "Canceled" ones to be deleted automatically when some clicks on the "Cancel Issue" button. I'm not sure this is a good idea, but I need to respond with whats possible as well as provide recommendations on whats a better way to handle this.

Question - Is there a way to delete issues via a postfunction?

4 answers

Deleting issues in post function is never a good idea. I would suggest 2 alternatives, if you can convince your users to do that wink

  1. Move the issues to a new state in the workflow or use a resolution that says Deleted or Obsolete or something else meaningful.
  2. Set a security level on the ticket so that it appears only to admins. The ticket will remain in JIRA but won't be visible to anyone outside of the security level.
1 vote

I'm totally with you - deleting issues, especially "on the fly" is not so good idea (it have some pros, but in my opinion there are more cons). However if your management don't want to archive those issues in one way or another (moving issues to closed project, moving issues to archive instance, copying issue DB entries to separate archive table/DB), then what can you do?


Back to deleting issues. One of the ways is to use Kepler-Rominfo's JJupin.

JJupin has deleteIssue() function, however you cannot delete the current issue (the one you have launched the post-function on). But it's a good thing, because there is a better and safer way to do that:

  • set the "Cancel Issue" action to move issues to the status "To be deleted" (or name it whatever you like, "Waiting for annihilation", "Death sentence", "Zombified" or so wink). Make sure this status is achievable ONLY in the case when the issue is "Cancelled", and make sure that only certain users can trigger it.
  • In JJupin create a SIL service, make it run every 1h or 1d, and attach the following code to the service:
  • string my_key;
    string log_message;
    string[] list_of_issues = selectIssues("Status in ('To be deleted')");
    for (number i=0; i<size(list_of_issues); ++i)
    	my_key = list_of_issues[i];
    	log_message = "SIL SERVICE ---- Deleting issue: "+my_key;
    	logPrint("WARN", log_message);
  • Now every 1 hour or every 1 day all of the issues in the desired status will get deleted.
  • If you add an additional transition, that can bring the issue back from "To be deleted" status, user will have up to 1 hour or 1 day to undo their action in case of mistakenly "Cancelling" issue.

As you can see above, you can get amazing results with small amount of work this way. And that's always the case with JJupin wink And the plugin is really affordable.

1 vote
Deleted user Apr 01, 2016


If you want to just not see them in the backlog ("I'm not sure this is a good idea") go into the board your team is using and modify the query to not include those issues with the status of Canceled. That way, you can always delete or recover them later.

Ссылка мертвая

Suggest an answer

Log in or Sign up to answer

Atlassian Community Events