2017-05-12 4 views
0

Ich habe einen Übergangsbildschirm, von dem ich Werte über ein Kontrollkästchensteuerelement erhalte, ich muss diese Werte abrufen und sie auf einem anderen Kontrollkästchensteuerelement in der Problemansicht aktualisieren. Der folgende Code aktualisiert die Werte, ändert das Kontrollkästchen jedoch nicht in checked.JIRA Mehrfachauswahlkästchen benutzerdefiniertes Feld wird nicht korrekt aktualisiert

Ich bin neu zu groovy/jira und kann nicht den richtigen Weg, die Checkbox-Optionen richtig zu setzen scheinen.

Jede Hilfe in die richtige Richtung wird geschätzt.

Ich bin mit JIRA 6.3.9

+0

Schreiben Ich nehme an, Sie verwenden Script und sprechen von einem Kästchen zum Ankreuzen Multiselect Field. Wenn ich eine Schätzung nehmen müsste, würde ModifiedValue eine Sammlung/Liste von Optionen und nicht eine einzige erwarten, weil in Multiselect-Felder mehr als 1 Option ausgewählt werden kann. Kann jetzt nicht verifizieren:/ – CodeFanatic

+0

Nach dem aktualisierten Code tritt die Ausnahme nicht auf, aber das Kontrollkästchen wird nicht überprüft nur die Werte werden gegen das Feld angezeigt. Ja, ich benutze JIRAs in Skript Runner Validator und seine a Mehrfachauswahl Kontrollkästchenfeld. Ich habe nach Fehlern in den Protokollen gesucht, kann aber anscheinend keine finden :( – Abbas

+0

kannst du bitte erläutern, was du meinst "nur die Werte werden gegen das Feld angezeigt" – CodeFanatic

Antwort

0

Managed es zum Laufen zu bringen, indem Sie den Code unten

ArrayList<LazyLoadedOption> optionsList = new ArrayList<LazyLoadedOption>(); 

FieldConfig fieldConfig = platRelOnAPIField.getRelevantConfig(issue); 

OptionsManager optionManager = ComponentAccessor.getOptionsManager(); 

platOptions = optionManager.getOptions(fieldConfig); 

for(def i = 0;i<platOptions.size();i++){ 
    def optVal = platOptions.get(i).getValue(); 
    if(platOptions.get(i).getValue().equals("custom field value")){ 
     optionsList.add(platOptions.get(i)); 
    break; 
    } 
} 
platRelOnAPIField.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(platRelOnAPIField), optionsList),changeHolder) 
Verwandte Themen