Need to send notification when a project role is attributed/removed

Amine Filali December 16, 2019

I'm using ScriptRunner "Script Listeners" in order to send notifications whenever a user or a group have been attributed a role or removed from a projet role. 

I tried listening on these events "ProjectUpdatedEvent,RoleMembershipCreatedEvent, RoleUpdatedEvent, RoleMembershipDeletedEvent" BUT NONE HAS BEEN TRIGGERED SO FAR even though I have done the following : 

  • Added/Removed a user or groupe to projet role for certain projects
  • Added/Removed a user or group as default member to the projet role 

Any help on how to achieve what I want to do?

 

1 answer

1 accepted

1 vote
Answer accepted
Leo
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
December 17, 2019

Hi @Amine Filali,

I used "ProjectRoleUpdatedEvent", and it triggers mail to me whenever user added/removed in user and roles

used below script for sending test mails

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.mail.Email
import com.atlassian.mail.server.SMTPMailServer

def emailBody = "Hi Leo, \n\nUser role updated"
sendEmail("user@mail.com", "User role updated", emailBody)

def sendEmail(String emailAddr, String subject, String body) {
SMTPMailServer mailServer = ComponentAccessor.getMailServerManager().getDefaultSMTPMailServer()
if (mailServer) {
Email email = new Email(emailAddr)
email.setSubject(subject)
email.setBody(body)
mailServer.send(email)
log.warn("Mail sent")
} else {
log.warn("Please make sure that a valid mailServer is configured")
}
}

 Hope this gives you an idea

 

BR,

Leo

ss January 24, 2021

Hi @Leo 

Praying that you do see this message. And, hoping that you can help me.

I am using ProjectRoleUpdateEvent to catch whenever a new user is added to any role in any project. I am able to get who does that and what permissions he has. 

But my real need is to find which role he modified and which user he added or removed. Can you please help me if you know, what class, method, command do I need to import or invoke to find this information from inside of scriptrunner script.

regards

sai praveen aminigadda March 3, 2022

@Leo hello,

thanks for posting the script. but, i'm confused becuase i'm getting an error "Cannot send mail as no outgoing mail set up". we have configured mail handlers already in jira.  where should i give the mail handler details in the script?

 

Thanks
Sai

Rajendran, Jayanthi April 7, 2023

@ss Did you get the removed user from a Jira Project?.  "ProjectRoleUpdatedEvent "only provides the user when we add them a role in a project. I need to get the removed user but "ProjectRoleUpdatedEvent " event gives users[] when the user is removed from project .Could you share your findings here. It would be helpful for me.

Can some answer how we can achieve? 

 

Thanks

Jayanthi

Suggest an answer

Log in or Sign up to answer