2011-01-27 19 views
9

Benim durumum: Benim jira iş akışımdaki bir adım, bir görevi zamanlama yeteneğine sahip olmamalı, yani "Hiçbiri" için bir Düzeltme Sürümü ayarlamalıdır. JIRA - Jira post işlevi - "Düzeltme sürümü" alanı nasıl güncellenir?

Ben iş akışı sonrası fonksiyonunda düzeltme sürümü güncellemek mümkün değildi fark - Ben tam olarak neden bilmiyorum, ama yine de bana sorunumu çözmeye yardımcı olmak için bir jira eklentisini uygulayabilirsiniz yaptım ama biliyorum Jira yapısına karşı çıkıyorum (java iyi kodlama uygulamaları :)). Uygulamamın sorunlara neden olabileceğinden emin değilim, ama aslında jira örneğim 4.1.x'te çalışıyor.

Ben bir post fonksiyonu, 2 çok benzer yollar içinde düzeltme sürümünü güncellemek için bir eklenti uyguladık nasıl

:

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(); 
    } 
} 

Ben gerçek çözüm gibi sınıfları kullanması gerektiğini tahmin: ChangeItemBean, ModifiedValue, IssueChangeHolder - CustomFieldImpl (jira kaynak kodundan proje: jira, paket: com.atlassian.jira.issue.fields) 'dan updateValue yöntemlerini örnek alarak.

burada bu yayın Benim noktasıdır:

  • kimse doğru Sürüm Fix değiştirmek için bir post işlevi içeren bir jira eklentisi nasıl uygulanacağı biliyor mu?

cevap

4

Eğer düzgün

./jira/src/java/com/atlassian/jira/workflow/function/issue/UpdateIssueFieldFunction.java processField kodunda bir göz atın yapmak istiyorsanız girdi parametreleri almak()

Postfunctions belgelenmiş henüz görünüyor değildir. Kod için gidecek diğer yerler diğer açık kaynak kodlarıdır.

1

Atlassian, sadece yapmak istediğiniz tam olarak ne hakkında yapmayı bir öğretici vardır here:

+0

Sorun nesnesinin nasıl değiştirileceği. – mdoar

0

bu snippet'indeki gibi yapmak: Ben gösterileri bu eğitimde şey görmüyorum

List<GenericValue> genericValueList = issueManager.getIssues(issues); 
versionManager.moveIssuesToNewVersion(genericValueList, lastVersion, newVersion); 
İlgili konular