JIRA WIC - How to copy Tags between Jira and Rally with the Jira WIC connector
search cancel

JIRA WIC - How to copy Tags between Jira and Rally with the Jira WIC connector

book

Article ID: 125050

calendar_today

Updated On:

Products

CA Agile Central On Premise (Rally) CA Agile Central SaaS (Rally)

Issue/Introduction

Use the following configuration file to copy and update CA Agile Central tags with JIRA labels (both directions).

Environment

Note: If all labels are removed from a JIRA artifact, the update will not remove all tags from the corresponding CA Agile Central artifact, since the connector (by design) will not write "null" (empty string) into a field. A recommended work-around is to have a dummy label which is never removed from artifacts, and this would allow other labels to be added and removed at will.

Resolution

Sample Configuration File




<config>
<RallyConnection>
<Url>rally1.rallydev.com</Url>
<WorkspaceName>Acme</WorkspaceName>
<Projects>
<Project>Team1</Project>
</Projects>
<User>[email protected]</User>
<Password>encoded-x-x-x-x-x-x-x-x-x-x-x-=-</Password>
<ArtifactType>Story</ArtifactType>
<ExternalIDField>ExternalID</ExternalIDField>
<SuppressDeprecationWarning />
</RallyConnection>

<JiraRestConnection>
<Url>https://youraccount.atlassian.net</Url>
<User>[email protected]</User>
<Password>encoded-x-x-x-x-x-x-x-x-x-x-x-=-</Password>
<ArtifactType>Story</ArtifactType>
<Project>PROJ1</Project>
<ExternalIDField>RallyObjectID</ExternalIDField>
<ExternalEndUserIDField>RallyFormattedID</ExternalEndUserIDField>
</JiraRestConnection>

<Connector>
<FieldMapping>
<Field><Rally>Name</Rally> <Other>Summary</Other></Field>
<Field><Rally>Tags</Rally> <Other>Labels</Other></Field>
</FieldMapping>

<RallyFieldHandlers>
<RallyKeyword2TagFieldHandler>
<Type>String</Type>
<Delimiter>,</Delimiter>
</RallyKeyword2TagFieldHandler>
</RallyFieldHandlers>
</Connector>

<ConnectorRunner>
<Preview>false</Preview>
<LogLevel>DEBUG</LogLevel>
<Services>COPY_JIRA_TO_RALLY,
UPDATE_JIRA_TO_RALLY,
COPY_RALLY_TO_JIRA,
UPDATE_RALLY_TO_JIRA</Services>
</ConnectorRunner>
</config>

Additional Information

JIRA information:  Rally Tags are meant to sync with Jira Labels.  The Jira Labels field does not allow multi-word Labels. 

It is possible to successfully map Rally single word tags and multi-word tags to a Jira String field when using the RallyKeyword2TagFieldhandler using a comma as the delimiter.

    <Connector>                <FieldMapping>               <Field><Rally>Name</Rally>            <Other>Summary</Other></Field>               <Field><Rally>Description</Rally>     <Other>Description</Other></Field><!--               <Field><Rally>Tags</Rally>         <Other>Labels</Other></Field> WORKS ONLY WITH SINGLE WORD TAGS -->               <Field><Rally>Tags</Rally>         <Other>LoriStringTest</Other></Field>             </FieldMapping>          <RallyFieldHandlers>            <RallyKeyword2TagFieldHandler>                <Type>String</Type>                <Delimiter>,</Delimiter>            </RallyKeyword2TagFieldHandler>             </RallyFieldHandlers>

So, it is possible to use a string field to map multi-word tags to Jira String fields, but because of Jira limitations, it is not possible to map multi-word Rally Tags to Jira Labels because of the Jira limitation.

For a YML file this would be used:

       RallyFieldHandlers:
            RallyKeyword2TagFieldHandler:
                Type: String
                Delimiter: ','

As an FYI, this is my mapping:

    Connector:
        FieldMapping:
            Field:
            -   Rally: Name
                Other: Summary
            -   Rally: Description
                Other: Description
            -   Rally: State
                Other: Status
            -   Rally: Priority
                Other: Priority
            -   Rally: Tags
                Other: Labels