首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将jira中的子任务与groovy连接

将jira中的子任务与groovy连接
EN

Stack Overflow用户
提问于 2016-01-11 10:53:13
回答 1查看 413关注 0票数 0

我正在处理jira中的一些groovy脚本。使用scriptrunner插件作为postfunction触发脚本。产生错误的代码是:

代码语言:javascript
复制
ComponentAccessor CompAcc = new ComponentAccessor()
SubTaskManager subTaskManager = CompAcc.getSubTaskManager()
...
def subTask = issueManager.createIssue(CompAcc.getJiraAuthenticationContext().getLoggedInUser(), issueObject)
subTaskManager.createSubTaskIssueLink(issue, subTask, usera)

其中的问题是问题,在此问题上触发了postfunction。子任务get被创建,但没有链接到调用任务。

这是一个错误:

代码语言:javascript
复制
2016-01-11 11:39:39,925 http-bio-8063-exec-19 ERROR asu 699x3972x1 16m4yz4 10.1.21.129 /secure/CommentAssignIssue.jspa [scriptrunner.jira.workflow.ScriptWorkflowFunction] *************************************************************************************
2016-01-11 11:39:39,926 http-bio-8063-exec-19 ERROR asu 699x3972x1 16m4yz4 10.1.21.129 /secure/CommentAssignIssue.jspa [scriptrunner.jira.workflow.ScriptWorkflowFunction] Script function failed on issue: RQA-7338, actionId: 81, file: /home/qa/Tools/Jira/scripts/CreateDevTestExecutionSubtask.groovy
groovy.lang.MissingMethodException: No signature of method: com.atlassian.jira.config.DefaultSubTaskManager.createSubTaskIssueLink() is applicable for argument types: (com.atlassian.jira.issue.IssueImpl, com.atlassian.jira.ofbiz.IssueGenericValue, com.atlassian.jira.user.DelegatingApplicationUser) values: [RQA-7338, [timespent:null, timeoriginalestimate:7200, project:11400, ...], ...]
Possible solutions: createSubTaskIssueLink(com.atlassian.jira.issue.Issue, com.atlassian.jira.issue.Issue, com.atlassian.crowd.embedded.api.User), createSubTaskIssueLink(org.ofbiz.core.entity.GenericValue, org.ofbiz.core.entity.GenericValue, com.atlassian.crowd.embedded.api.User)
            at CreateDevTestExecutionSubtask.run(CreateDevTestExecutionSubtask.groovy:212)

因此,我需要知道的是,如何将com.atlassian.jira.issue.IssueImpl和com.atlassian.jira.ofbiz.IssueGenericValue转换为com.atlassian.jira.issue.Issue,以便子任务的链接再次工作。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2017-01-09 18:40:28

方法issueManager.createIssue()被弃用,它返回GenericValue。使用issueManager.createIssueObject()代替,它会返回问题。

所以您的代码应该如下所示:

代码语言:javascript
复制
def currentUser = CompAcc.getJiraAuthenticationContext().getLoggedInUser()
Issue subTask = issueManager.createIssueObject(currentUser, issueObject)
subTaskManager.createSubTaskIssueLink(issue, subTask, usera)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34719692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档