Send email to assignee after 6 months?

Issue #717 new
Arttu Hakanen created an issue

Hi,

Is it possible to create a workflow that sends email to Epic assignee after six months after the Epic was transitioned to a certain status. Example:

Epic1 is transitioned to status X. Epic1 is assigned to a user1. After six months of this transition, email notification is sent to user1 to review the Epic1. Thank you!

Comments (7)

  1. Fidel Castro Armario repo owner

    You can create a transition from current status to destination status with "Boolean condition with math, date-time or text-string terms" conditionusing the following boolean expression:

    last(timesOfTransition("", "In Progress")) > 6 * {MONTH}
    

    I'm considering that the status you want to check whether the issue has remained 6 months in is In Progress. That's the same status which is origin for the transition you want to execute.

    After that you need a mechanism to try to execute periodically the transition for all issues in status In Progress (in my example). To do it you can use Automation Lite, which is a free plugin.

    For all the issues that doesn't satisfy the condition the transition will not be actually executed, but for those which remained more than 6 months the condition will be satisfied, and the transition will be executed.

  2. Arttu Hakanen reporter

    Thank you for your help! Just to confirm that I don't wish to fire a transition after six months. I would like to start the clock counter when user changes the status from "In Progress" to "Implementation Review". When the epic has been sitting in "Implementation Review" for six months, I'd like to get a mail notification sent out to epic assignee, no transition needed. The user will go through the issue and make the transition to next status if needed. Thanks!

  3. Fidel Castro Armario repo owner

    You can create a reflexive transition in "Implementation Review" status (e.g., a transition called "Notify Assignee"). Reflexive transitions have same status as origin and destination, so they don't change status. They are used only to execute post-functions.

    You can add "Notify Assignee" transition the following configurations:

    1. Condition "Boolean condition with math, date-time or text-string terms" with the following boolean expression:last(timesOfTransition("", "Implementation Review")) < {00057} - 6 * {MONTH}
    2. Post-function Send an email with the configuration needed for sending an email notification to epic assignee.

    After that you need a mechanism to try to execute periodically Notify Assignee transition for all issues in status Implementation Review. To do it you can use Automation Lite, which is a free plugin.

  4. Arttu Hakanen reporter

    Hi, sorry for the delay with the reply and thank you for your help. I tested this by changing time in the condition from 6 * {month} to 10 * {minutes}, also to 1 * {hour}. Then I used the automation lite to check every five minutes all the issues in status "Implementation Review" and execute the transition "Notify Assignee" (transition from Implementation Review to Implementation Review).

    For some reason I'm getting email notification every five minutes. Seems that the condition doesn't work. Any tips what I might have missed? Thanks!

  5. Fidel Castro Armario repo owner

    Sorry, I made a mistake in the boolean expression. Use the following one:

    last(timesOfTransition("", "Implementation Review")) < {00057} - 6 * {MONTH}
    

    where {00057} is field code for Current date and time.

  6. Arttu Hakanen reporter

    Thank you. For some reason this still doesn't work, now I'm not getting mail notifications anymore even I just edited the condition. I tested this with test project where wanted send notification if the issue had been "In Progress" for one minute. Here's the condition I used:

    last(timesOfTransition("", "In Progress")) < {00057} - 1 * {MINUTE}

    Am I probably still missing something? Thanks!

  7. Fidel Castro Armario repo owner

    Hi @arttuhakanen,

    I have used the a condition similar to the one you used for testing the expression and it works as expected. This is my configuration:

    Captura de pantalla 2017-08-18 a las 17.35.46.png

    I test it like this:

    1. I transition the issue to "Parser Testing" status.
    2. I move the issue to a status where there is a transition X with the condition shown in the screenshot.
    3. During a minute transition X is not available, since the condition is not being satisfied.
    4. I'm periodically refreshing the browser to check whether transition X becomes available. After 1 minute transition X becomes available, as expected.
  8. Log in to comment