Attribute customization - Calculated Values for enumeration list
Zachary K (193●5●43●39)
| asked Aug 29 '12, 3:04 p.m.
edited Mar 18 '13, 1:37 p.m. by Ralph Schoon (63.5k●3●36●46)
Hello,
I've created a calculated value in JavaScript to update an custom attribute based on the value of the "Filed Against" field.
I can get the id but not the label. Is there another api to get the label? I'm using RTC 3.0.1.
var filedAgainst = workItem.value(WorkItemAttributes.FILED_AGAINST);
Or how can I convert the id to the display value?
Thanks in advance for your help
|
Accepted answer
Ralph Schoon (63.5k●3●36●46)
| answered Mar 18 '13, 1:37 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
I agree to William. workItem.getLabel(WorkItemAttributes.FILED_AGAINST); should give you the label of the category. See https://jazz.net/library/article/1093 Lab 5 for some guidance.
If the target attribute is an enumeration, you will however have to pass the literal ID to the enumeration and not the label. Ralph Schoon selected this answer as the correct answer
|
3 other answers
the label is stored in the workflowInfo data item.
this code is in a plugin, but same deal fix this --> IAuditableCommon iac = p.getSaveOperationParameter().getAuditableCommon(); WorkflowManager wfm = new WorkflowManager(iac); if(false) { IWorkItemCommon workItemCommon = iac.getPeer(IWorkItemCommon.class); // loop thru all the attributes in the project // attributes are project wide, not workitem specific for(IAttribute ia:workItemCommon.findAttributes(p.getOldProcessArea().getProjectArea(), monitor) ) { // if this attribute is available on this workitem if(workItem.hasAttribute(ia)) { System.out.println("processing for variable="+ia.getDisplayName()+" attrib type="+ia.getAttributeType()); try { // attempt to get the enumeration literal for this attribute // will throw exception if not an enum IEnumeration<ILiteral> enumeration = (IEnumeration<ILiteral>)workItemCommon.resolveEnumeration(ia, monitor); if(enumeration!=null) { // get the literal specifically String[] iaval = ia.getValue(iac, workItem, monitor).toString().split(":"); // if present if(iaval.length>1 && iaval[1]!=null) { // loop thru the literal to value mappings for (ILiteral literal : enumeration.getEnumerationLiterals()) { // if this literal matches the attribute value if(literal.getIdentifier2().getStringIdentifier().equalsIgnoreCase(iaval[1])) { // display the usable name System.out.println("attribute name="+ia.getIdentifier() +", type"+"="+ia.getAttributeType()+" literal="+literal.getIdentifier2().getStringIdentifier()+" literal name="+literal.getName()); break; } } } } } catch (Exception e) { //System.out.println("Exception="+e.toString()); } } } } |
var ReleaseDate = new String(workItem.getLabel("path.to.your.item.youritem"));
|
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.