簡體   English   中英

將jira中的子任務與groovy鏈接

[英]linking a subtask in jira with groovy

我正在研究jira中的一些常規腳本。 使用scriptrunner插件將腳本作為后功能觸發。 產生錯誤的代碼是這樣的:

ComponentAccessor CompAcc = new ComponentAccessor()
SubTaskManager subTaskManager = CompAcc.getSubTaskManager()
...
def subTask = issueManager.createIssue(CompAcc.getJiraAuthenticationContext().getLoggedInUser(), issueObject)
subTaskManager.createSubTaskIssueLink(issue, subTask, usera)

問題所在的位置,觸發了后功能的位置。 子任務已創建,但未鏈接到調用任務。

這是錯誤:

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.IssueImplcom.atlassian.jira.ofbiz.IssueGenericValue轉換為com.atlassian.jira.issue.Issue,以便子任務的鏈接再次起作用。

謝謝你的幫助!

不建議使用issueManager.createIssue()方法,它將返回GenericValue。 使用issueManager.createIssueObject()代替,它將返回Issue。

因此,您的代碼應如下所示:

def currentUser = CompAcc.getJiraAuthenticationContext().getLoggedInUser()
Issue subTask = issueManager.createIssueObject(currentUser, issueObject)
subTaskManager.createSubTaskIssueLink(issue, subTask, usera)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM