Code reviews are essential to an effective development process, improving the quality of code and reducing the odds of introducing new defects. Review Board is an open-source tool that streamlines the peer review process for source code.
The HCL VersionVault Explorer integration with Beanbag Review Board provides a direct interface for creating or updating review requests. This integration uses the Eclipse “Review Board” open-source plugin, which provides the wrapper layer that handles Review Board Server REST API communication. A Review Request can be submitted on a UCM activity, or files and folders for UCM and Base VersionVault. On Linux and Windows, four view types are supported: Dynamic, Snapshot, Web, and Automatic.
This integration is available in the following offerings:
- VersionVault Rich Client Platform (RCP) – VersionVault Explorer is installed as part of the installation of VersionVault
- VersionVault Explorer for Eclipse – VersionVault Explorer is installed from an update site into an existing Eclipse
- VersionVault Remote Client – Only VersionVault Explorer is installed (VersionVault is not installed)
- VersionVault Remote Client Extension – VersionVault Explorer is installed as part of another product, such as IBM Rational Software Architect
This integration uses GNU Diff to generate the diff on the Windows platform. Before submitting a Review Request, install GNU Diff and make sure to set its installation path into the environment variable.
The GNU Diff default installation path is C:\Program Files (x86)\GnuWin32\bin.
Log in and add the Review Board repository
- Install VersionVault.
- Launch VersionVault Explorer and open the Task Repositories view:Window > Show View > Other > Mylyn > Task Repositories.
- Use either of the following methods to add Review Board repositories.
- Click the Add Task Repository button located on the toolbar for the view, or
Figure 1: Task Repositories tab
- Right click in the Task Repositories view and select the Add Task Repository option.
Figure 2: Context menu for the Task Repositories tab
- Select Reviewboard and then click the Next button.
Figure 3: Add Task Repository
- Enter your Review Board Web URL (for example: https://reviewboardserver/), username, password, and click the Validate Settings button.
Figure 4: Review Board Validation
- After validation, click the Finish button to complete the authentication.
A Review Request can be submitted on a UCM activity or files and folders (for UCM and Base VersionVault).
2.1 New Review Request
A new Review Request can be submitted on a UCM activity. To raise a new Review Request, right-click a UCM Activity and select Review Board > Create Review Request from the context menu.
Figure 5: Create Review Request
The Detect Local Changes page contains the list of elements and their change types.
Figure 6: Detect Local Changes
Review Board Repository
This shows the Review Board server address as configured by the user.
This displays the Activity headline for which the Review Request is being raised. It is displayed only if the request is being raised for a UCM activity.
This displays the change set of the activity. The full file/folder path and type of change (that is, modify/add) is shown. Only checked-in changes are taken into consideration for Review Requests.
Use this checkbox column to select/deselect versions to be included or excluded for the Review Request. At least one version must be selected to proceed with creating the Review Request.
Check None/Check All
These buttons are used to deselect/select all files/folders.
Select the files to be submitted for a review request and click the Next button.
Publish Review Request page
Fill in the Publish Review Request page with the details needed for publishing. Note that the fields with an asterisk (*) are required.
Enter a review summary.
Enter a defect/bug number, if applicable.
Enter the branch on which development was done for the Review Request.
Enter the details relevant to the Review Request for the reviewer in this multi-line field.
Enter the details of the testing done before the Review Request was raised.
Enter either the names of the review people or review group conducting the review.
Enter the Review Board username IDs of the people conducting the review.
Enter the Review Group name of the group conducting the review. Note that group names are managed by Review Board itself.
Once you’ve filled in all the Review Request details, click the Finish button to submit the Review Request.
2.2 Update Review Request
Review Requests can be updated on a UCM activity. To update an existing Review Request, right-click a UCM activity and select Review Board > Update Review Request from the context menu.
Note: Include all previous submitted elements with new updated elements to see full and proper diffs.
Figure 8: Update Review Request
Detect Local Changes Page
Select a Review Request from the drop-down menu or enter the Review Request ID in the text field.
Select a Review Request from the drop-down menu:
Figure 9: Detect Local Changes
Enter a Review Request ID in the text field:
Figure 10: Detect Local Changes
Note: In the Update Review Request flow, excluding the Detect Local Changes page, all windows identical to the Create Review Request flow.
Select Review Request
This field is a drop-down menu on the Detect Local Changes page, populated with all existing review requests submitted by the current user. The user must select a Review Request to update. Alternatively, the user can enter an existing valid Review Request ID in the text field and click ValidateReviewRequest.
After the Review Request ID is validated, click the Next button to navigate to the Publish Review Request page where you can fill in/update the review request details.
Refer to Figure 7 to see the Publish Review Request page.
After the fields are modified on the Publish Review Request page, click the Finish button to update/submit the Review Request.
3.1 New Review Request
New Review Requests can be submitted for files and folders. To raise a new Review Request, right-click a file or folder and select Review Board > Create Review Request from the context menu. For both UCM and Base VersionVault, you’re able to select multiple files/folders and create the Review Request.
Figure 11: Create Review Request (File)
Select Resources Page
This page displays when a new request is raised for a file or folder. Use it to add files/folders to be included in the Review Request along with their respective versions for comparison.
Figure 12: Select Resources Page
The user can manually enter the values for Element Path, Base and Current Version Selector. Once the user clicks the Add/Modify button, the element will be included in the Review Request and also gets populated in the Element table.
The full path of file/folder to be added.
Base Version Selector
The base version of an element from which a comparison occurs.
Current Version Selector
The current version of an element or the version for which the user wants to create a review.
The user can browse and select multiple files/folders from the VersionVault Resource Browser dialogue within the current view context. That way, the user can select interactively and avoid the need to remember the versions of elements.
Figure 13: VersionVault Resource Browser
Select files/folders and click the OK button.
Figure 14: Select Resources
Use the Add/Modify button to add or modify the element details in the table. Once the user selects an element from the table, the respective element details populate in text fields. Modify the Base or Current Version fields and click the Add/Modify button to update the element in the table.
The Element table contains the details of the elements that are to be included in the Review Request.
Figure 15: Element Table
Use the Remove Selected button to remove the selected row from the Element table. You can select multiple elements from the table to be removed at the same time.
Detect Local Changes Page
This page contains the list of elements and their change type.
Figure 16: Detect Local Changes
Click the Next button to navigate to the Publish Review Request page, where you can fill in or update the Review Request details. Refer Figure 7 to see the Publish Review Request page.
After you have filled the Review Request details, click the Finish button to submit the Review Request.
3.2 Update Review Request
A Review Request can be updated for files and folders. To update an existing Review Request, right-click the file/folder and select Review Board > Update Review Request from the context menu. You can select multiple files/folders and update the request.
Note: Along with new files/directories include all previous submitted files/directories to see full and proper diffs.
Figure 17: Update Review Request (Files/Folders)
Note: In the Update Review Request flow, excluding the Detect Local Changes page, all windows are identical Create Review Request flow.
Select Resource Page
Figure 18: Select Resource
Click the Next button to navigate to the Detect Local Changes page. Refer to Figure 9 and Figure 10 to see the Detect Local Changes page with the respective Update Request flow.
Once the review Request ID is validated in the Detect Local Changes page, click the Next button to navigate to the Publish Review Request page where you can fill in or update the Review Request details. You can skip this step if you do not want to modify details, and instead click the Finish button to update/submit the Review Request. Refer to Figure 7 to see the Publish Review Request page.
Review submitted Review Requests
Follow the steps below to view submitted Review Requests.
- Open the Task List view by navigating to Window > Show View > Other > Mylyn > Task List.
- Right click in the view and select New > Query.
Figure 19: Task List View
- Select the Review Board repository to which you are already logged in.
Figure 20: Select Repository
- Select values for the Query title, filters such as All, With group, From the user, To the user, With status, and Maximum results (requests).
Figure 21: Edit Query
- Click the Finish button to see the result.
Figure 22: Task List
- Double-click the Review Request to open and review it.
Figure 23: Review Request View
- Click the “open with browser” button to open the review request in a web browser, or load the URL below in the browser directly.
Figure 24: Diff Viewer
- Reviewers can view changes and provide comments. If there are no comments, then the reviewer can provide approval by clicking the Ship It! button.
- The Submitter/Developer can close the review by clicking the Close button.
VersionVault Explorer for Eclipse 4.24 or later versions
HCL VersionVault Explorer- Beanbag Review Board integration uses Mylyn plugins of eclipse and eclipse 4.24 onwards mylyn plugins are not installed by default. If you are installing VersionVault Explorer from an updatesite on eclipse 4.24 or later version, you might need to install mylyn plugins manually.
- In Eclipse Help->Install New Software..
- Add mylyn updatesite URL https://download.eclipse.org/mylyn/releases/3.21
- Select “Mylyn SDKs and Frameworks -> Mylyn Tasks Connector: Eclipse IDE” option and proceed with installation.