2011-01-27 14 views
9

मेरा परिदृश्य है: मेरे जिरा वर्कफ़्लो में एक कदम में एक कार्य को अनदेखा करने की क्षमता होनी चाहिए, यानी "कोई नहीं" पर एक फिक्स संस्करण सेट करें।जिरा - जिरा पोस्ट फ़ंक्शन - "फ़िक्स वर्जन" फ़ील्ड को कैसे अपडेट करें?

मैंने देखा है कि मैं एक कार्यप्रवाह पद समारोह में ठीक संस्करण अद्यतन करने के लिए सक्षम नहीं था - मैं वास्तव में नहीं जानता कि क्यों है, लेकिन वैसे भी मैं मुझे मेरी समस्या सुलझाने में मदद करने के लिए एक jira प्लगइन को लागू किया, लेकिन मुझे पता है मैं जिरा संरचना के खिलाफ जा रहा हूं (यहां तक ​​कि जावा अच्छा कोडिंग प्रथाओं :))। मुझे यकीन नहीं है कि मेरा कार्यान्वयन समस्याएं पैदा कर सकता है, लेकिन वास्तव में यह मेरे जिरा उदाहरण 4.1.x में काम कर रहा है।

मैं कैसे एक पोस्ट समारोह, 2 बहुत समान तरीके से ठीक संस्करण को अद्यतन करने के लिए एक प्लगइन को क्रियान्वित किया है:

public class BrandsclubPostFunctionUnschedule extends AbstractJiraFunctionProvider { 
    // Here I create an empty Collection to be the new value of FixVersion (empty because I need no version in Fix Version) 
    public void execute(Map transientVars, Map args, PropertySet ps) throws WorkflowException { 
     MutableIssue issue = this.getIssue(transientVars); 
     Collection<Version> newFixVersion = new ArrayList<Version>(); 
      issue.setFixVersions(newFixVersion); 
      issue.store(); 
    } 
} 

public class BrandsclubPostFunctionUnschedule extends AbstractJiraFunctionProvider { 
    // here I clear the Collection I got from "old" Fix Version and I have to set it again to make it work. 
    public void execute(Map transientVars, Map args, PropertySet ps) throws WorkflowException { 
     MutableIssue issue = this.getIssue(transientVars); 
     Collection fixVersions = issue.getFixVersions(); 
     fixVersions.clear(); 
     issue.setFixVersions(fixVersions); 
     issue.store(); 
    } 
} 

मुझे लगता है कि एक वास्तविक समाधान की तरह वर्गों का उपयोग करना चाहिए: ChangeItemBean, ModifiedValue, IssueChangeHolder - उदाहरण के रूप में कस्टमफिल्ल्डआईएमपी (जिरा स्रोत कोड, परियोजना से: जिरा, पैकेज: com.atlassian.jira.issue.fields) से अद्यतन वैल्यू विधियों को लेना।

इस यहाँ प्रकाशित करने का मेरा मुद्दा है:

  • किसी पोस्ट को कैसे समारोह युक्त सही ढंग संस्करण फिक्स बदलने के लिए एक jira प्लगइन लागू करने के लिए पता है?

उत्तर

4

आप इसे ठीक से

./jira/src/java/com/atlassian/jira/workflow/function/issue/UpdateIssueFieldFunction.java processField के लिए कोड में एक बार देख ले करना चाहते हैं तो()

इनपुट पैरामीटर लेने वाले पोस्टफंक्शंस अभी तक प्रलेखित नहीं हैं। कोड के लिए जाने के लिए अन्य स्थान अन्य ओपन सोर्स प्लगइन्स हैं।

1

Atlassian, बस के बारे में वास्तव में क्या आप क्या करना चाहते कर पर एक ट्यूटोरियल है here:

+0

मुझे लगता है कि ट्यूटोरियल है कि शो में कुछ भी नहीं दिख रहा है समस्या ऑब्जेक्ट को कैसे संशोधित करें। – mdoar

0

मैं इस स्निपेट में है जैसे कि यह कार्य करें:

List<GenericValue> genericValueList = issueManager.getIssues(issues); 
versionManager.moveIssuesToNewVersion(genericValueList, lastVersion, newVersion); 
संबंधित मुद्दे