How to enforce artifacts for work items
Hello,
I am novice RTC user.
We are on RTC 3.0.1.1.
We are trying to create a new workflow for our team so that we can enforce certain artifacts to be attached when the task is in certain state. e.g. requirement documents before developer start working on the task, test cases and results from the business users when they give sign off.
Can someone please suggest how this can be enforced in RTC? There doesn't seem to be any custom attribute which can take attachment(s).
Any help or ideas in matter will be greatly appreciated.
Regards,
Amit
One answer
as far as I can tell, there is no attribute type for attachments and you can not use the "Required Attribute" pre-condition to make them mandatory.
The only way I see would be to use a custom server pre-condition (called Advisor) for the workItemSave operation. This is a Java Server extension. Start here https://rsjazz.wordpress.com/2013/02/28/setting-up-rational-team-concert-for-api-development/ to understand what you have to do to code one up yourself. An example advisor is here: https://rsjazz.wordpress.com/2012/11/01/restrict-delivery-of-changesets-to-workitem-types-advisordelivery-of-changesets-associated-to-wrong-work-item-types-advisor/ even if this is for the deliver operation, you can find several other examples of followup-actions that you can look up for code examples. The link above also provides an introduction into the difference of advisors and participants.
In the Advisor you would have to decide if it needs to trigger (state change - see the participant examples for the code) and then you would have to analyze the attachments. Attachments are accessed in a collaboration/list.
See https://rsjazz.wordpress.com/2012/09/21/downloading-attachments-from-work-items/ and https://rsjazz.wordpress.com/2012/08/01/uploading-attachments-to-work-items/ for examples.
Be aware that this is client code and you will have to replace the client libraries used by services you get with getService() instead of getClientLibrary(). However, I would assume you can use almost the same code on the server.
Comments
Hi Ralph,
Thanks for the prompt reply.
The links are quite relevant. If extension is the only way, then we would first evaluate the cost involved in creating the required extension and depending on the cost Vs benefit analysis we might go that route or adopt a softer approach.
Thank you again.
Regards,
Amit