The AccuRev extension provides integration with the AccuRev source control system
and the AccuWork Issue Tracking system.
AccuRev SCM
Before getting started, you will need the AccuRev command-line executable client
installed on either your BuildMaster server or an Agent.
Configuring the Source Control Provider
First, add an AccuRev Source Control Provider using the BuildMaster Administration
page:
Note that the Server field must specify a server that has the AccuRev command-line
client installed. Once the server is specified, simply verify the executable file
path and supply user credentials BuildMaster will use to perform actions against
AccuRev. If everything has been configured properly, clicking the Test Connection
button should display a "Connection Successful!" message.
Source Control: Get Latest Action
If you are familiar with AccuRev, you already know that a repository consists of Depots,
Streams, and Workspaces, and you are likely familiar with AccuRev’s graphical presentation
of these concepts:
This sample evaluation depot consists of multiple streams, snapshots, and workspaces.
From BuildMaster’s perspective, each box on this diagram represents a possible view of
a project’s source code. When specifying a source control path in BuildMaster for an AccuRev
provider, you must always specify which view you are working against. For example, the Get
Latest action in a BuildMaster deployment plan provides you with a source control browser to
select where files will be retrieved from; in this browser, BuildMaster presents this
diagram as a tree:
You probably noticed that BuildMaster prefixes a : in front of streams/views; this is so that
streams may be distinguished from directories logically contained in a view. For example,
telling BuildMaster to get the latest source code from the path ":evalDepot/src" will instruct
it to pull all of the files and directories in the "src" directory, using the "evalDepot" logical
view. The use of a : character is not a BuildMaster or AccuRev strandard notation; it was chosen
for use with the AccuRev Source Control Provider because it is not permitted in a stream or
file name within AccuRev.
Limitations and Feedback
Because AccuRev is designed for working against a logical view of a depot, common BuildMaster
concepts like labeling and branching actions are not directly supported at this time. Rather
than trying to pigeonhole similar AccuRev concepts into labels and branches, we are providing
direct integration for getting files against a specific view, as described with the Get Latest
action. As a workaround, it is entirely possible to create a simple Command-Line action in a
BuildMaster deployment plan to perform anything you can normally do with the AccuRev client –
such as create a new stream or workspace.
We are always happy to hear from people about how BuildMaster can best leverage their favorite
toolsets. If you are using AccuRev and you are either satisfied or unsatisfied with our current
integration solution, please give us your feedback.
AccuWork
Before getting started, you will need the AccuRev command-line executable client
installed on either your BuildMaster server or an Agent.
Configuring the Issue Tracking Provider
In AccuWork, issues reside in a Depot, so you must provide the name of the depot the provider
will connect to (in our case, "evalDepot"). Issues in AccuWork consist of a number of named
fields which are configurable using a schema editor. In order to integrate with whatever schema
you have defined, you must provide BuildMaster with the field names of important issue properties
such as an issue’s ID, target release, and status. Because statuses are also configurable in an
AccuWork schema, must also provide BuildMaster with a list of all issue statuses that you want
it to consider as "Closed."
Finally, you may optionally provide an additional field which contains an issue property to filter
against; for example, your issues may have a “project” field used to tag an issue to a specific project.
Once properly configured, you will be able to see which AccuWork issues are tied to a BuildMaster release.