No crea Epic Link al crear la épica desde una postfunction
Hola Fidel,
Muchas gracias por sacar la release que corregía el bug 909.
Tenemos un problema con la asignación de los Epic Link cuando la Épica es creada desde otra tarea:
- Tenemos una tarea específica que en una transición lanza una postfunción que crea una Épica (1_Issue_Postfunction.PNG).
- Por otro lado, en el workflow de la Épica tenemos una postfunción que crea otras 4 tareas específicas, esta postfunción se ejecuta en la transición al crear la propia Épica (2_Epic_Postfunction.PNG).
El problema que tenemos es que la tarea del punto 1 crea la Épica bien, y a su vez esta Épica crea las 4 tareas nombradas en el punto 2, pero no es capaz de asignarles el Epic Link de esta Épica a estas 4 tareas.
Es correcto este funcionamiento?Hay alguna otra forma de asignar ese Epic Link en las 4 tareas?
Muchas gracias Un saludo
Comments (15)
-
repo owner -
Account Deactivated reporter Buenos días Fidel,
Gracias por la respuesta. El resultado es el mismo. No asigan el Epic Link. Puede deberse a que no encuentre aun la Épica en la base de datos al ir a crear los enlaces? Hay alguna forma de incluir más de un reindex en una transición?
Saludos
-
repo owner Hola @jcarlosmg81,
Por favor, adjunta captura de pantalla de la pestaña de post-funciones de ambas transiciones. Me gustaría ver todas las post-funciones que se están ejecutando, su configuración y su orden de ejecución.
Gracias.
-
Account Deactivated reporter Hola Fidel,
Te adjunto las postfunciones de la transición de la Épica (dividida en 4) y las de la transición de la tarea.
Muchas gracias Saludos
-
repo owner Hola @jcarlosmg81,
Encuentro my extraño que no tengas una post-función "Fire a Issue Created event that can be processed by the listeners." en la transición "Create Issue" de la épica.
Por favor, podrías confirmarme que no existe la post-función para disparar el evento en la transición "Create Issue"?
-
Account Deactivated reporter Hola Fidel,
Efectivamente no está, la he creado. Debe ir al principio de todas las postfuntiones??
Saludos
-
repo owner Hola @jcarlosmg81,
Debe ir al final, es decir, debe ser la última post-función que se ejecuta en una transición.
A parte te recomiendo que la post-funcion de reindexación vaya después de todas las post-funcione de JWT. Mi recomendación siempre es que las post-funciones personalizadas, es decir, aquellas que añadimos nosotros a una transición, vayan siempre antes de todas las post-funciones que por defecto vienen con cualquier transición de JIRA.
Por ejemplo, en la transición de la tarea te recomiendo que muevas la transición 7 a la posición 2.
Por favor, dime si estos cambios de orden resuelven tu problema.
-
Account Deactivated reporter Hola Fidel,
Seguimos con el mismo problema. En la transisción de creacion de la Épica, la postfunción "Creates the issue originally" debe ir al final también?? Aunque he probado ambas formas y no funciona
Saludos JC
-
repo owner Hola @,
Por favor, prueba a hacer los siguientes 2 cambios:
- Instala la version 2.2.48_beta_1.
- Mueve todas las post-funciones de creación de tareas a una posición posterior a la de la post-función de disparo de evento en la transición "Create Issue" de la épica.
Por favor, dime si con estos dos cambios se resuelve tu problema.
-
Account Deactivated reporter Hola Fidel,
Sigue sin funcionar, crea la Épica, crea las 4 tareas, pero no crea el epic link en estas 4. He visto esto en el log, pero no se si tendrá calgo que ver:
Saludos
at com.atlassian.jira.issue.managers.RequestCachingIssueManager.updateIssue(RequestCachingIssueManager.java:214) at com.atlassian.jira.issue.managers.DefaultIssueManager.updateIssue(DefaultIssueManager.java:655) at com.atlassian.jira.issue.managers.DefaultIssueManager.updateFieldValues(DefaultIssueManager.java:704) at com.atlassian.jira.issue.fields.ImmutableCustomField.updateValue(ImmutableCustomField.java:396) at com.atlassian.jira.issue.fields.ImmutableCustomField.updateValue(ImmutableCustomField.java:410) at com.atlassian.jira.issue.fields.ImmutableCustomField.createValue(ImmutableCustomField.java:693) at com.atlassian.greenhopper.customfield.epiclink.EpicLinkCFType.createValue(EpicLinkCFType.java:44) Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to com.atlassian.jira.issue.Issue at java.lang.Thread.run(Thread.java:745) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
-
repo owner Hola @jcarlosmg81,
Por favor, dime si al crear manualmente la épica se crean correctamente las tareas dependiendo de la épica. Quiero saber si el problema sólo se da cuando la épica se crea por medio de una post-función.
-
Account Deactivated reporter Hola Fidel,
Te confirmo que al crear manualmente la Épica crea correctamente las tareas dependiendo de la Épica.
Saludos
-
repo owner Hola @jcarlosmg81,
Puedo darte dos soluciones:
1) En lugar de crear las tareas en la transición "Create Issue" de la épica, las puedes crear en la misma transición donde creas la épica. Esto implica que debes añadir las post-funciones "Create issues and subtasks" para la creación de las tareas justo después de la post-función para la creación de la épica. Tendrías que chequear la opción "Save issue keys of created issues into Ephemeral String 3 virtual field as a comma separated list." en la post-función de creación de la épica, con objeto de que puedas emplear el campo "Ephemeral String 3" como valor fuente para asignar el campo "Epic Link" en las post-funciones posteriores para la creación de las tareas.
2) No añadir las post-funciones de creación de las tareas en la transición "Create Issue" de la épica, sino en una transición reflexiva (o circular) que añadiríamos en el primer estado del workflow de la épica. Esta transición podría llamarse "Crear Tareas" y podríamos ocultarla a los usuarios añadiéndole la condición "Transition is triggered by JIRA Workflow Toolbox post-function". Ahora sólo nos queda añadir una post-función "Copy a parsed text to a field" a la transición "Create Issue" de la épica con la siguiente configuración:
- Target field: Execute Transition.
- Parsing mode: basic
- Text to be parsed...:
Crear Tareas
Esta post-función la debes añadir justo después de la post-function "Creates the issue originally".
Cualquiera de estas dos soluciones debe resolver tu problema.
-
Account Deactivated reporter Hola Fidel,
Me alegra comentarte que parece que funciona la opción 2, vamos a seguir trabajando en ella. La primera no la veíamos muy factible porque en ocasiones necesitamos crear la Épica a mano.
Muchas gracias!
-
repo owner - changed status to resolved
Me alegro de que hayas solucionado el problema. Si te parece bien, procedo a cerrar la incidencia. Reábrela en caso de que lo necesites.
- Log in to comment
Hola @jcarlosmg81,
Prueba la siguiente modificación: utiliza Issue key como valor fuente de la asignación en lugar de Epic name, como te muestro en la siguiente captura de pantalla: