for changesets with multiple workitems, how to know the stream for each workitem
![]()
When a changeset is associated with multiple workitems for multiple streams, how can you tell which stream each workitem is for using the plain java API? Let me give an example...
workitem 1 is fixed with a changeset then that changeset is delivered to another stream with workitem 2 then another stream with workitem 3 Later, I do a IWorkspaceConnection.compareTo() between a snapshot and the current stream. This would give me the list of changesets that have occurred between the snapshot (say when it was shipped) and now (which would be all the fixes since it shipped). I then do the getChangeSetLinkSummary() call to get the associated links. I loop through looking for changeset links and get the workitems. I will find 3 in the sample above. How can I tell which one is associated with the stream I am connected to? |
3 answers
![]()
Ralph Schoon (62.7k●3●36●43)
| answered Feb 18 '14, 4:53 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Jay,
as far as I can tell, work items are not connected to any stream. So you can't make a connection to any stream, unless you have information in the work item providing this information. A reference presentation could potentially be used to select a stream https://rsjazz.wordpress.com/2013/12/17/using-reference-presentations-to-create-links-and-show-linked-work-items-in-rtc/ to provide this kind of information. I have not tried that yet, so I don't know if there is a reference presentation for streams. Comments I picked the wrong blog post, I meant this link http://rsjazz.wordpress.com/2013/12/12/using-rtc-work-item-attributes-to-display-rtc-components-and-other-item-data/ . Unfortunately there seems to be no direct way to select a stream as objects.
It is unclear how you are supposed to be able to service products where you want to ship individual fixes and their prereqs. You would normally fix problems with a work item and it may involve multiple change sets. You need to be able to associate a change set to a work item for a given stream to deliver this service. This is a very common way of delivering service and it is surprising that RTC does not do this... It is not reliable to have hundreds of programmers remember to put the right data in some field to identify the stream.
![]() FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
The way how we, as far as I know, work is by having streams for the versions that are out there and fix streams derived from them. Developers create a workspace for the version they need to work against from a stream, create the fix and get reviews etc done. The Found In attribute in the work item as well as the flow target of their workspace they use to develop tells the developer all they need to know.
Without the ability to associate a change set with a workitem for the current stream, I do not see how you can reliably deliver individual fixes with prereqs. I believe we are basically broken in that area. The reason is that we deliver fixes in workitems. All of the workitem must be delivered. When you have a prereq changeset, the real prereq is the workitem. Otherwise if the prereq has multiple change sets, you will deliver part of a workitem fix and not the complete fix. Teams in WebSphere have been using this approach for many years and based on what I am hearing, that approach is is not safe in RTC. It sounds like only jar level service is accurately supported in RTC. How are you actually delivering service? At the jar level or individual fix level?
|
![]()
Is there anyone actually doing individual fixes instead of jar replacement?
|