注意:此处Jira版本为8.5.7
创建方式
入口
入口位置在对应转换的后处理功能。
脚本选项
脚本编写
上面注释无关紧要,主要是下方的脚本。
import com.atlassian.jira.workflow.WorkflowTransitionUtilImpl
import java.util.Collection
import com.atlassian.jira.issue.MutableIssue;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.util.JiraUtils;
import com.atlassian.jira.workflow.WorkflowTransitionUtil;
log.setLevel(org.apache.log4j.Level.DEBUG);
MutableIssue parent = issue.getParentObject() as MutableIssue
//获取子任务
Collection<Issue> subList = parent.getSubTaskObjects();
Integer unCompleted = 0;
Integer highLevelNum = 0;
if(!subList.isEmpty()){
for(Issue issue : subList){
//判断子任务类型及状态
if((! issue.getStatus().getName() in ['完成','已完成']) && issue.getIssueType().getName() in ['开发子任务','测试子任务']){
unCompleted += 1;
}
判断Bug
if( (issue.getStatus().getName() != '完成') && issue.getIssueType().getName() in ['标准BUG'] && (issue.getPriority().getName() == 'Highest' || issue.getPriority().getName() == 'High') ){
highLevelNum += 1;
}
}
}
log.warn("unCompleted:"+unCompleted)
log.warn("highLevelNum:"+highLevelNum)
//仍然有研发/测试任务处在待完成 不做处理
if(0 != unCompleted){
return;
}
WorkflowTransitionUtil workflowTransitionUtil=(WorkflowTransitionUtil) JiraUtils.loadComponent(WorkflowTransitionUtilImpl.class)
workflowTransitionUtil.setIssue(parent)
if(parent.getIssueType().getName() == '标准任务' && parent.getStatus().getName() == '测试中'){
if(highLevelNum >0){
//问题修复中 这里的action是转换ID
workflowTransitionUtil.setAction(31)
}else{
//产品走查
workflowTransitionUtil.setAction(131);
}
//更新工作流
if (workflowTransitionUtil.validate()) {
workflowTransitionUtil.progress()
}
}
if(parent.getIssueType().getName() == '标准故事' && parent.getStatus().getName() == '测试中'){
log.warn("测试中")
if(highLevelNum >0){
//问题修复中
workflowTransitionUtil.setAction(31)
}else{
//产品走查
workflowTransitionUtil.setAction(111);
}
//更新工作流
if (workflowTransitionUtil.validate()) {
workflowTransitionUtil.progress()
}
}
其他
转换ID查看
参考资料
https://doc.devpod.cn/jira/jira-15237264.html
https://www.jianshu.com/p/6e8efad13564?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
https://docs.atlassian.com/software/jira/docs/api/8.5.7/com/atlassian/jira/issue/Issue.html