Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

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

0 votes



One answer

Permanent link
Hi Amit,

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.

0 votes

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

Your answer

Register or log in 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.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 12,014

Question asked: May 07 '13, 1:57 p.m.

Question was seen: 4,180 times

Last updated: May 08 '13, 9:37 a.m.

Confirmation Cancel Confirm