It's all about the answers!

Ask a question

Using a script to set a calculated priority value


Jeff Piontek (134) | asked Apr 29 '16, 1:08 p.m.
Hello, I am trying to set an attribute customization in rqm using a script.The script is supposed to get the input on a defect work item for the severity attribute and a custom risk attribute. The severity and priority enumerations and attributes in rqm have not been adjusted. The priority attribute should calculate is value using the logic in the script. I have been able to return the priority back out to my defect , and rqm shows the returned value in a query. However my dashboard widget is showing the literal priority categories instead of the high,medium,low enumerations.I think this might be an indexing issue.Any help is appreciated.

Here is the script:
dojo.provide("com.example.Priority");
dojo.require("com.ibm.team.workitem.api.common.WorkItemAttributes");
 (function() {
    var WorkItemAttributes= com.ibm.team.workitem.api.common.WorkItemAttributes;
    dojo.declare("com.example.Priority", null, {
    getValue: function(attribute, workItem, configuration) {
      //Output to log line break mostly just to break it up for viewing
console.log("***************************************************************************************************************************************");
     //Logs value for parameters entered in, note may have to adjust enumerations for priority to non read only to actually get a value
     //Priority is really only there for setting up the script, leave it commented out unless you need it   
        try{
            var risk = workItem.getLabel("risk");
            console.log(risk);
            var severity = workItem.getLabel("internalSeverity");
            console.log(severity);
            var priority = workItem.getLabel("internalPriority");
            console.log(priority);
        }
        catch (err){
          var txt;
          txt="Something went wrong";
          txt+=" You should fix that";
          alert(txt);
        }
     // Comparison statements for Risk/severity values and set priority value, use log entry values from above for actual inputs and outputs, than return priority back to rqm
     // Using the values from priority above so that the conversion back into rqm is correct
       if (risk === 'High'   & severity === 'Minor'  ){
          internalPriority =  'priority.literal.l8';
        }else if (risk === 'High'  & severity === 'Major'  ){
          internalPriority = 'priority.literal.l9'  ;
        }else if (risk=== 'High'  & severity === 'Critical' ){
          internalPriority = 'priority.literal.l7'     ;
        }else if (risk === 'Low'  & severity === 'Minor'  ){
          internalPriority = 'priority.literal.l2'  ;
        }else if (risk === 'Low'  & severity === 'Major'  ){
          internalPriority = 'priority.literal.l8'   ;
        }else{
          internalPriority = 'priority.literal.l9'  ;
        }
        return internalPriority
       }
      });
  })();

Here is what the widget is showing.




Comments
Donald Nong commented May 06 '16, 1:30 a.m.



Re-post the attachment so that others can see.

One answer



permanent link
Antonio Napoles (2861) | answered May 04 '16, 5:59 p.m.
JAZZ DEVELOPER
 Hi Jeff,

Which RQM version and which widget are you using?

Comments
Jeff Piontek commented May 05 '16, 7:47 a.m.

4.0.7, I was actually able to get this to work. ThanksĀ  anyways.


Donald Nong commented May 06 '16, 1:31 a.m.

For the benefit of the community, can you please let us what changes you have made to make it work?

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.