How can i restrict attachment deletion based on a custom field value ?

Anya CHOUKRANE March 12, 2021

Hello everyone,

 

I was able to restrict who can add attachments based on a custom field value by creating a listener on ticket update that detects when an attachment has been added an then deletes it based on a custom field value condition. This is the code i wrote for it.

/////Detect attachment adding/////
List changeItems = event.getChangeLog()?.getRelated("ChildChangeItem")
changeItems.each {GenericValue gv ->
if (gv["field"] == "Attachment" && gv["newvalue"]) {
////////////////////////////////////////////////////////////////////
if ((issue.getIssueType().getName() == CustomIssuesTypes.FSE && !groupManager.isUserInGroup(user, entiteEmettrice)) ||
((issue.getIssueType().getName() == CustomIssuesTypes.AMEO || CustomIssuesTypes.DI ) && !(groupManager.isUserInGroup(user, entiteEmettrice) || groupManager.isUserInGroup(user, entiteImpactee)))){

def deleteAttachment = attachmentManager.getAttachments(issue).sort{it.created}.last()
attachmentManager.deleteAttachment(deleteAttachment)
UserMessageUtil.error("Nous n'avez pas l'autorisation d'ajouter des pièces jointes à ce ticket")


}
}
}

I would like to do the same with attachment deletion. I want to restrict who can delete attachment based on a custom field value. I don't think i can use the same strategy as in the attachment adding, because in Jira, if you delete an attachment it's gone forever so i can undo the deletion.

Do you have any idea of how i can do it ? 

Thank you in advance

 

 

0 answers

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
STANDARD
TAGS
AUG Leaders

Atlassian Community Events