Change-Package-Level Integration
between AccuRev and AccuWork

Enabling the Integration

Triggering the Integration

What if Both Integrations are Enabled?

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. 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 (AccuWork) A data record, consisting of values of data fields, stored in an issue database..

Enabling the Integration

The change-package-level integration is enabled on a depot-by-depot basis. Open the Schema Editor for a particular depot's issue database, 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. One of the AccuWork queries specified in the Change Package Triggers section is executed, selecting a certain set of issue records.

  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.

  3. The user selects one or more of the issue records. There is a New Issue button, which enables the user to create a new issue record "on the fly", and optionally a user field that enables the user to show issues belonging to another user.

  1. The command completes its work.

  2. The versions involved in the command are recorded in the change package section (Changes page) of the selected issue record(s).

What happens if the user specifies no issue record or a non-existent issue record, such as 99999 or 0?

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.