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
4,300,104
Community Members
 
Community Events
165
Community Groups

Send regular reminders to an Approver

Hello, 

I wondered if its possible to send regular reminders to an Approver when they have to approve specific tickets. 

Example: 

We have cost requests form that users fill in, these need to pass an approval so it will go to their direct line manager. I have been asked now if we can send scheduled reminders to the manager who is an approver, as emails may get lost.

Any help on this would be great. 

Regards,

Mihir

4 answers

1 accepted

1 vote
Answer accepted

It looks like there is a feature request for this: https://jira.atlassian.com/browse/JSDCLOUD-8369

@Jenny Severin thank you for this, I will keep an eye on this change request. 

Like Jenny Severin likes this
3 votes

Hi, @Mihir Ruparelia !  

To approve specific tickets you can use Approver step in Business Process Manager add-on developed by my team

So, you can streamline any processes that are accepted by another person. Add individual users or groups of users to approve requests in sequential order.

image.png

When the assignee submits a form in issue, all selected Users will see Approve & Reject buttons at the Form. When a person makes a choice to Approve/Reject, the system will add a comment to the issue.

2 votes

Hi @Mihir Ruparelia ,

Do you have Jira Automation? If so you can use a schedule trigger do some checking on whether the approver has approved, and then send an email.

Let me know if this helps.

@Garrett McCreery we do have automation, with this I have set up rules for ticket creation. 

I had a read on how to use Automation for scheduling reminders but I couldn't understand the JQL part and hoped someone could help.

The biggest thing here, is how the system can check each ticket for a current approver, send an email to each person with which tickets they are due to approve. 

Does this seem possible?

The JQL part would be the system checking if the approver has not approved the ticket. I don't know which fields you are using to say whether the approval has happened or not, but something like this in the JQL (of the schedule trigger) should work for you:

project = XYZ and "Approvals[Approvals]" = pending()

Then you can send an email to the approver as a reminder.

Hi @Garrett McCreery so what we have is an automation, which will look at the department a ticket has been logged for as well as the expense type category (these are drop down fields).

Based on these two conditions, in the ticket the "Approver" field is completed automatically with the name of that department head. The status would be "Requested"

What I have been asked is, how we send reminders to anyone who's tickets are still in "Requested". 

Hope that clarifies it a bit more. 

Then the JQL could be something like:

project = XYZ and status = Requested

Does that help?

@Garrett McCreery Just giving it a test now. 

@Garrett McCreery would I have to create one for each manager that needs a reminder sent?

No, you should not have to. The schedule trigger will run each time for what it finds in the JQL. Once you are getting the issues that are in status - "Requested" you should be able to use a smart value like "Issue.fields.approver.email" or something similar to pull the email and then whatever you want to say in the body of the email.

@Garrett McCreery Getting there, I have managed to set the JQL and set up an automation to send emails. 

The only part I can't crack is how to have it pick up the email address based on the approver field. 

Here are some screen shots... I don't know if the smart value for the email is correct, but this is the gist of the solution:

screenshot.png

screenshot2.png

I am assuming that your approver field is a user field type. if so the email address smart value should be:

{{issue.approver.emailAddress}}

@Garrett McCreery amazing thank you, sorry one last question if a user has multiple requests to approve is it possible to group the ticket numbers into one email rather than 7-10 separate ones.

Is working well based on my tests.

That would take more automation, but it is possible:

 

You could use the same automation to start, then you could use a lookupissues action to query again by user id and the original query..

project = XYZ and status = Requested and approver = {{issue.approver.id}}

Then use the lookupissues to get each issue key, summary.

Here is the documentation for lookupissues:

https://support.atlassian.com/cloud-automation/docs/jira-smart-values-issues/#--lookupIssues--

Here is a screenshot:

screenshot.png

WAIT.... My mistake, that will still send as many emails as there are issues... I'd have to think on this more...

@Garrett McCreery all of this has been great so far, so thank you. But yes so far its sending an email per ticket in that status. 

Not sure our management team would appreciate that. 

@Mihir Ruparelia Do you have a definitive list of Approvers? (It could be updated to include/remove more, but wanted to see if the list is everyone in your jira instance, or a smaller list)?

@Garrett McCreery each approver is set on a ticket based on a automation rule per department for example: 

Ticket logged by reporter to department Marketing, Approver set is head of marketing. 

So there is a subset of users, not everybody can approve tickets. 

ok, so I have an idea, not the best, but since some things are limited it JIra automation, we look for other ways to be creative. Let me get back to you.

@Garrett McCreery amazing thank you, I've been trying a few things myself using the link you have sent but no luck. I think if the email had a list of all tickets for that approver it would be the ideal solution. 

ok, this works... It's a little bit of work, but I hope the documentation makes sense...

This will require 2 automation rules, with the first one calling the second, and the second one calling itself (until there are no more approvers).

 

Automation 1:

 

Step1: Scheduled (no JQL) trigger

Step 2: Create a variable with list of approver emails separated by commas

Step 3: Send a web request passing the listApprovers. The URL used here is generated when we create an incoming webhook automation (the 2nd Automation). The custom data should remain as shown.

 screenshot.png

 

Automation 2:

 

Step 1: Incoming Webhook trigger

You will notice that the URL here is what is being used in the prior automation step. Be sure to select No issues from the webhook.

Step 2: Create variable getting the 1st approver

Step 3: Create variable taking out the 1st approver from the list (has remaining approvers)

Step 4: Lookup Issues using the approver in the JQL 

Step 5: Create a variable with key and summary of lookupissues

Step 6: Create Variable (Update that variable to remove the last comma)

Step 7 and 8: Make sure there are issues before sending the email (IF ELSE and Send Email, nothing goes in the else part 

Step 9: See if there are any remaining approvers

Step 10: Send Web Request (Calling the same automation, passing the remaining approvers minus the one that we removed). This will continue to call until there are no more approvers.

 screenshot.png

screenshot.png

screenshot.png

@Garrett McCreery Just seen this, I will read through it now and give it a go. Thank you I'll come back with feedback once tested. 

@Garrett McCreery sorry some of the screenshots are a bit blurry so when I am trying to add the webhook and variable I can't see what I need to add as a smart value. 

 

Also do I need to complete Automation 2 to generate the URL and then put this into automation 1?

Sorry again this is all brand new to me, so just learning as I go along. But this is helpful to know. 

Hi @Mihir Ruparelia ,

Have you tried with filter subscription. I hope this may help you. 

You can filter and subscribe to jira-users, so if there are any tickets pending for their approval , they will get daily reminder.

ex : project = yourprojectname and issuetype="yourissuetype" and status = "Pending for Approval" and apporver = currentUser()

@Sreenivasaraju P I haven't tried this, unsure where I would find this. Could you provide more information?

so will this send daily reminders to anyone who needs to approve a ticket?

you can try 

PROJECT = "your project name" AND status = "Waiting for approval" and "Approvals[Approvals]" = myPending()

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
STANDARD
PERMISSIONS LEVEL
Site Admin
TAGS
Community showcase
Published in Jira Service Management

Coming Soon: Insight Changing to Assets

The 2020 acquisition of Mindville added powerful asset and configuration management capabilities to Jira Service Management in the form of Insight. Following the completion of that integration, custo...

484 views 3 13
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