2015-07-29 3 views
0

У меня есть требование для того, чтобы несколько полей устанавливались всякий раз, когда создавалась проблема.Создание нескольких обязательных полей в рабочем потоке

Я попробовал этот

rule Mandatory 

when <issue created or updated> { 
    Swimlane.required("Must have a swimlane"); 
    UtgmsVehicleName.required("Must be attached to a vehicle "); 
    Subsystem.required("Subsystem must be set"); 
    Assignee.required("Assignee must be set"); 
    Fix versions.required("Fix versions must be set/"); 
} 

Что происходит, что он постоянно запрашивает все поля должны быть установлены. Каков наилучший способ выполнить это требование.

на основе предположения Алекса я получил это

rule MandatoryFields 

when !isReported() { 
    var assigneeSet = Assignee != null; 
    var subSystemSet = Subsystem != null && Subsystem != {No subsystem}; 
    var fixedVersionSet = Fix versions != null; 
    var assigneeValue = Assignee.oldValue; 

    var messageValue = "Mandatory fields:"; 
    if (!assigneeSet) { 
    messageValue = messageValue + " Assignee"; 
    } 
    if (!subSystemSet) { 
    messageValue = messageValue + " Subsystem"; 
    } 
    if (!fixedVersionSet) { 
    messageValue = messageValue + " FixedVersion"; 
    } 
    assert (assigneeSet && subSystemSet && fixedVersionSet): messageValue; 

    if (assigneeSet) { 
    Assignee = assigneeValue; 
    } 
} 

ответ

0

Вы можете иметь что-то вроде

var noSwimlane = Swimlane == null; 
var noSubsystem = Subsystem == null; 
... 
var message = "You need to fill the following fields: "; 
if (noSwimlane) { 
    message += "Swimlane"; 
} 
... 
assert !(noSwimlane || noSubsystem || ...) : message; 
+0

Привет Алекс, спасибо за идею, я старался делать то же самое, но он не признает + = так я изменил это на messageValue = "" + messageValue + ", Subsystem"; и до сих пор нет радости? Cheers – Bernard

+0

Не уверен, что я понял вашу мысль. В чем была проблема с messageValue = "" + messageValue + ", Subsystem"; ? –

+0

Alex, спасибо, что я получил код, работающий в конце, проблема в том, что если вы заполняете поле, например, утверждение уничтожает установленное вами значение, поэтому я думал, что могу хранить каждое значение поля, а затем повторно назначать на конец после утверждения? Кажется, не работает. Я добавил код к вопросу. Еще раз спасибо – Bernard

Смежные вопросы