B. AccuWork : Change-Package-Level Integrationbetween AccuRev and AccuWork

Change-Package-Level Integration
between AccuRev and AccuWork
There are two similar, but separate facilities that integrate AccuRev's configuration management functionality with its issue management (AccuWork) functionality. The one described in this topic uses change packages as the point of integration. The other uses a particular issue-record field as the point of integration (see Transaction-Level Integration between AccuRev and AccuWork on page 329). Both integrations record information about the Promote transaction in a user-specified AccuWork issue record.
When a Promote command is executed a user's workspace (but not in a higher-level dynamic stream), the change-package-level integration records all the promoted versions on the Changes subtab of a user-specified AccuWork issue record.
Enabling the Integration
The change-package-level integration is enabled on a depot-by-depot basis. Open the Schema Editor for a particular depot, and go to the Change Packages subtab. Filling in the lower section, "Change Package Triggers", enables the integration for that particular depot.
The Change Package Triggers section is structured as a set of condition/query pairs. One of the queries will be selected for execution at Promote-time. If the first condition is satisfied, the first query will be executed; otherwise the second condition will be evaluated, and if it's satisfied, the second query will be executed; and so on. 
Each clause of a condition performs a test on the Promote destination stream. For example, this condition is satisfied if the user is promoting to either of the streams brass_dvt or brass_mnt:
The condition must test the destination stream (PROMOTE_DEST_STREAM) of a Promote command. The query corresponding to each condition can be any AccuWork query, which selects a set of issue records.
The Change Package Triggers section also specifies the format of each query's results table -- the fields to appear as columns, the column widths, the order of the columns (fields), and the sort order of the rows (records).
In addition, the Issue Owner Field drop-down list displayed at the bottom of the Change Packages tab can be set to any AccuWork field that contains user/group data. The field specified here displays on the Send to Issue dialog.
Triggering the Integration
Once the integration is enabled for a depot, it is triggered whenever a user performs a Promote command in a workspace associated with that depot:
1.
2.
Those records are displayed to the user in the results table format specified in the Change Package Triggers section. In this example, AccuWork has been configured to allow the user to choose from issues assigned to another user or group if necessary.
Note: If you have enabled the use of third-party issue tracking system (ITS) keys in the AccuWork schema, the Select Issue (Change Package) dialog displays additional controls that let you specify whether you want to use AccuWork issue numbers or third-party keys when selecting issues to promote against. See the section “Using Third-Party Keys in the Java GUI” in the AccuRev® Technical Notes for more information.
3.
Promoting to Issues Other than Those Shown -- The dialog has a New Issue button, which enables the user to create a new issue record "on the fly". If the user hovers over the icon to the right of the New Issue button, it will display a tooltip containing the Change Package Triggers query. This makes it easier to create an issue that will be selected by the query, and thus available to promote against.
There may also be a user field to the right of the Issue # field that can be used to show issues belonging to another user.
Typing an Identifier when using a Third-Party ITS -- If a field other than the default issueNum is specified as the 3pty ITS Key (on the Schema Editor’s Schema subtab), specifying issue records by typing their identifiers can lead to errors: if multiple issue records have the same identifier, AccuRev automatically adds the promoted version(s) to just one of those records — perhaps not the one you intended.
4.
5.
What happens if the user specifies no issue record or a non-existent issue record, such as 99999 or 0?
If the user enters "0" (or equivalently, makes a blank or non-numeric entry), AccuRev checks whether issue record #0 is among the issues selected by the query executed Step 1. (Note: the query can select issue record #0, even though it doesn't exist -- for example with this clause: issueNum equal to 0.)
If the query does select issue record #0, the user's command completes but no information is recorded in the issue. This provides a way for the user to bypass the integration when performing the Promote command.
If the query does not select issue record #0, the user's command is cancelled, and no information is recorded in the issue.
What if Both Integrations are Enabled?
Both the change-package-level and transaction-level integrations can be enabled for a given depot at the same time. In this case, a user performing a Promote command in a workspace is prompted to specify an issue record just once, not twice. The prompting for an issue record by the change-package-level integration takes place as usual. That issue record is then updated by both integrations.
Note that even if both integrations are enabled, a Promote command performed in a dynamic stream (not a workspace) activates just the transaction-level integration, not the change-package-level integration.

AccuRev, Inc.
Phone: 781-861-8700
Fax: 781-861-8704
support@accurev.com