2017-09-18 5 views
0

私は現在JIRA 7.3を使用していますが、scriptRunnerをインストールしていてgroovyに慣れていません。 JIRAマネージャーとは、これらのマネージャーとその説明のリストを見つける場所を意味します。リンクされたストーリーが進行中に移動すると、叙事詩を進行中に自動的に遷移させます。

リンクされた問題の1つが動いたときに、Epicが自動的に「進行中」に移行する機能が必要です。また、すべてのストーリーが「To Do」または「Done」に移動すると、Epicは自動的にリンクされた問題と同じステータスに移行します。

チュートリアル、ビデオ、説明付きのスクリプトへのリンクがあれば役立ちます。あなたの援助は非常に高く評価されています

答えて

0

問題のリンクされた叙事詩を見つけて、叙事詩の状態を移行を行って更新する方法を示す下の例を見つけてください。これはScriptRunner用のGroovyスクリプトです。スクリプトコンソールでこれをすばやくテストしましたが、このようなスクリプトをワークフロー移行のポスト機能とともに使用することができました。

import com.atlassian.jira.component.ComponentAccessor; 
import com.atlassian.jira.issue.CustomFieldManager; 
import com.atlassian.jira.issue.fields.CustomField; 
import com.atlassian.jira.issue.Issue; 
import com.atlassian.jira.issue.MutableIssue; 
import com.atlassian.jira.issue.IssueManager; 

import com.atlassian.jira.issue.IssueInputParameters; 
import com.atlassian.jira.issue.IssueInputParametersImpl; 
import com.atlassian.jira.bc.issue.IssueService 

CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager(); 
IssueManager issueManager = ComponentAccessor.getIssueManager(); 
IssueService issueService = ComponentAccessor.getComponent(IssueService); 
CustomField epicLinkField = customFieldManager.getCustomFieldObjectByName('Epic Link'); 

//hardcode lookup to issue for script console: 
MutableIssue issue = issueManager.getIssueObject("FID-15"); 

IssueInputParameters issueInputParameters = new IssueInputParametersImpl([:]); 

//lookup the corresponding epic via the subtask's parent 
MutableIssue epic = issueManager.getIssueObject(
    (String)issue.getCustomFieldValue(epicLinkField) 
); 

// 21 is the transition ID in my workflow 
IssueService.TransitionValidationResult validationResult = 
    issueService.validateTransition(epic.getAssignee(), 
    epic.id, 21 as Integer, issueInputParameters) 

def errorCollection = validationResult.errorCollection 
log.error(errorCollection) 
if (! errorCollection.hasAnyErrors()) { 
    issueService.transition(epic.getAssignee(), validationResult) 
    log.error("OK") 
} 
else { 
    log.error("ERROR") 
} 
+0

ありがとうございました。 1つの質問が考えられました。問題を見つけてコーディングすることなくそれを行うことができる方法はありますか? – kya

+0

はい、もちろんです。 ScriptRunnerを使用すると、ワークフロー遷移またはイベントリスナーへのポスト関数を作成できます。 SRドキュメントでは、これらの問題イベントの処理方法について説明しています(https://scriptrunner.adaptavist.com/5.0.0/jira/listeners.html#_custom_listeners) – mdo

関連する問題