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

building connector questions, basics fixed, see other topics

I need to build a connector to my companies customer issue tracking system.. our level 1 teams do all the recreate and research on customer reported issues. when it comes to changing the product code, we have to come back to engineering, using RTC.

I can open and update workitems from the call mgmt system now, using the rest apis..

I need updates back into the call mgmt system FROM RTC, in near/realtime, when workitems are updated. this could include comments, status, and even binary objects (product package deliverables)..

I see talk of connectors and 'wiki' but don't see any specific info on what connector points there are, etc..

can someone point the way..

thanks

Sam

0 votes



14 answers

Permanent link
James:

The RTC development team is heads-down getting RTC-3.0 out the door, but
as can be seen from Sam's recent postings, other folks are accumulating
Item Synchronizer expertise, so it is still worth posting your questions
(and lessons learned) to this forum.

Cheers,
Geoff

On 10/16/2010 5:38 AM, DrJamesWright wrote:
sdetweilwrote:
I need to build a connector to my companies customer issue tracking
system.. our level 1 teams do all the recreate and research on
customer reported issues. when it comes to changing the product
code, we have to come back to engineering, using RTC.

I can open and update workitems from the call mgmt system now, using
the rest apis..

I need updates back into the call mgmt system FROM RTC, in
near/realtime, when workitems are updated. this could include
comments, status, and even binary objects (product package
deliverables)..

I see talk of connectors and 'wiki' but don't see any specific info
on what connector points there are, etc..

can someone point the way..

thanks

Sam
I'm having the same problems

0 votes


Permanent link
I need to build a connector to my companies customer issue tracking system.. our level 1 teams do all the recreate and research on customer reported issues. when it comes to changing the product code, we have to come back to engineering, using RTC.

I can open and update workitems from the call mgmt system now, using the rest apis..

I need updates back into the call mgmt system FROM RTC, in near/realtime, when workitems are updated. this could include comments, status, and even binary objects (product package deliverables)..

I see talk of connectors and 'wiki' but don't see any specific info on what connector points there are, etc..

can someone point the way..

thanks

Sam

I'm having the same problems

0 votes


Permanent link
for connector install/deploy help see

http://jazz.net/forums/viewtopic.php?t=13016

Sam

0 votes


Permanent link
I'll use a separate post to answer some of the questions

1. there are standard 'transformers' that must be used in the sync rule definition to convert the incoming 'strings' to the required internal format.

attachments
comments
filed against
created by


so I was finally able to create my first work item..

I need the format info on comments, and attachments
and some guidance on how to deal with the remote system user name, which will never match here.

| I found another wiki item that described making userid a remote item, and I see the pending user synch as soon as I get my connector installed & working.
example 3 of, https://jazz.net/wiki/bin/view/Main/WritingSyncRules

Is there a way to display the URI of the external proxy of workitem? I need to retrieve the remote system key.
I see it in the workitem details display

Also, the doc as presented on the link above, could use some rework.. it mixes 'remote' and itemclient too much. hard to tell which way things are supposed to be going..

itemclient manages INBOUND to Jazz..
I would change the text from 'external' to 'source system' here

External Manager manages OUTBOUND from Jazz.
and I would change the text some to say 'remote', or target system.

sam

0 votes


Permanent link
well, more working, and more not..

| edited to remove old info, add new info

I have found the 'show unsynchronized' list (mouse button menu on the Sync rules pages, actual synch rule name)..

anyhow.. I am seeing errors.. which I don't understand

I set Created By to the user name string in the remote system,
but this yielded, unable to get UUID.. how do I do that, or do the ID's have to be synched between systems..

| you can define userid strings are remote objects,
see example 3, here https://jazz.net/wiki/bin/view/Main/WritingSyncRules

also same problem for 'Filed Against'..

| i didn't use the category transformer which does the text to uuid lookup


the created date, wants to be a timestamp.. not clear in any doc.
| this is java.sql.Timestamp.

the comments field needs to have some particular format.. can't find that

"Incoming at 10/5/10 12:28:52 PM CDT
Error occurred:
java.lang.IllegalArgumentException: Invalid notes format"

help!!
sam

0 votes


Permanent link
Ok, I am working on my Item Connector client.

| edited to remove old info, add correct info.

I can find the sync rule, and see the IPropertyMappings list.
I have the Proxy, and the external state.

but when I save the proxy with state, I never see a work item.
I do NOT have the external manager defined yet, and shouldn't need to.. this can be asymmetric as far as I can tell.

| you have to look at the unsyncronized items under the project area in the sync rule manager pane.

also, how do you delete a proxy/externalstate.. (hard to create it over again)..

I see some disconnect in the synch rule property text and what I actually see in the code..
'Created By' as shown in the SR editor is actually 'CreatedBy'
and 'Created Date' is actually 'CreationDate'..
I am using getItemPropertyName() however.

| you need to use the SR editor to se the parm names properly

also, seems to be a problem with IPropertyMapping()

the two getRequiredExternalPropertiesList() and getRequiredItemPropertiesList() methods should really be on the SyncRule, not on a Specific property itself.

when I created a defect work item thru the editor, Summary and Filed Against were required fields, but I didn't see 'Filed Against' in the initial Synch Rules. | (called category)

| wasn't a code problem, but a synch rule definition problem,
I didn't use the correct attribute transformers.

Sam

0 votes


Permanent link
Yes, this is a doc problem. The Item Synchronizer can do creation in
either direction.

Cheers,
Geoff

On 9/30/2010 7:52 PM, sdetweil wrote:
additional clarifications.. the doc connector client api doc says a
bunch of things about the create/save approach, but seems to always
say 'to the jazz object', seeming to imply that the Jazz object must
exist in advance.

for example:
'However it gets triggered, assume that it is running with the
knowledge that some set of external objects were just created or
modified, and that those objects should
be connected to Jazz items.'

'If a new ExternalProxy object was created in memory (because the
external object is being connected to a
Jazz item for the first time
)'

'Whenever an ExternalState item is saved, synchronization of the new
state (that is, application of the
external properties to a Jazz item
'

I don't see the words 'jazz item is created' anywhere.

this is not the case for me..

the external system will create its object, and then later PUSH a
representation of that object into jazz as a workitem.

updates from either side will synch as required thru later api calls.


is this just a documentation problem?

sam

0 votes


Permanent link
additional clarifications.. the doc connector client api doc says a bunch of things about the create/save approach, but seems to always say 'to the jazz object', seeming to imply that the Jazz object must exist in advance.

for example:
'However it gets triggered, assume that it is running with the knowledge that some set of external objects were just created or modified, and that those objects should be connected to Jazz items.'

'If a new ExternalProxy object was created in memory (because the external object is being connected to a Jazz item for the first time)'

'Whenever an ExternalState item is saved, synchronization of the new state (that is, application of the external properties to a Jazz item'

I don't see the words 'jazz item is created' anywhere.

this is not the case for me..

the external system will create its object, and then later PUSH a representation of that object into jazz as a workitem.

updates from either side will synch as required thru later api calls.

is this just a documentation problem?

sam

0 votes


Permanent link


The Item Connector Client must invoke services defined in the Interop component of the Jazz Team Server, and currently, the only supported API for those services is Java. Therefore, the Item Connector Client must be able to invoke Java methods. That doesn't mean it has to be implemented in Java, as there are various ways to bridge between language implementations, but implementing in Java would certainly be the easiest approach.

understood

Note that updates from work items to an external system are scheduled periodically, so they are not (near) real time. I believe the default delay period is 5 minutes. You can make it smaller, but there is a lower limit (60 seconds, if I recall correctly).

ok, that time range is fine.


See http://publib.boulder.ibm.com/infocenter/rtc/v2r0m0/topic/com.ibm.team.connector.cq.doc/topics/t_create_sync_rules.html for information on creating synchronization rules.


great, thanks

Sam

0 votes


Permanent link

thanks.. is there a place to talk about the design and implementation requirements? my 'external repository' is not java based, so the Item Connector Client cannot run ON the external platform. so I will have to build a remote proxy to some system that DOES support java to be the connector.. OR I can use the REST apis from outside to create and update workitems, and have the external manager send updates back to the external system. the only area of concern here is the need to send large (gigabyte) files of attachments for work items. altho we 'could' use an additional repository and pass links to the attachments instead.


The Item Connector Client must invoke services defined in the Interop component of the Jazz Team Server, and currently, the only supported API for those services is Java. Therefore, the Item Connector Client must be able to invoke Java methods. That doesn't mean it has to be implemented in Java, as there are various ways to bridge between language implementations, but implementing in Java would certainly be the easiest approach.


I need updates back into the call mgmt system FROM RTC, in near/realtime, when workitems are updated. this could include comments, status, and even binary objects (product package deliverables)..


Note that updates from work items to an external system are scheduled periodically, so they are not (near) real time. I believe the default delay period is 5 minutes. You can make it smaller, but there is a lower limit (60 seconds, if I recall correctly).


also, from the referenced text 'Synchronization rules are created and managed as items in a Jazz repository, using a special editor.' where is the info on that special editor?


See http://publib.boulder.ibm.com/infocenter/rtc/v2r0m0/topic/com.ibm.team.connector.cq.doc/topics/t_create_sync_rules.html for information on creating synchronization rules.

0 votes

1–15 items
page 1of 1 pagesof 2 pages

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
× 10,927

Question asked: Sep 22 '10, 12:59 p.m.

Question was seen: 10,869 times

Last updated: Sep 22 '10, 12:59 p.m.

Confirmation Cancel Confirm