On the Swarm Projects page, click the + Add Project button.
The ability to add projects can be limited to administrators only, or limited to members of specific groups. When limited, users who are not administrators, or a member of the specified group, will not see the + Add Project button.
The Add Project page is displayed:
Optional: select the Only Owners and Administrators can edit the project checkbox. When checked, a field is displayed allowing you to add a new owner. The field auto-suggests users within Helix Server as you type.
You cannot specify a group as an owner.
Once specified, modifying the project's definition is restricted to project owners and administrators (users with admin-level or super-level privileges in Helix Server).
Specify at least one team member. This field auto-suggests projects, groups, and users within Helix Server as you type (up to a combined limit of 20 entries).
During project creation, if you do not have admin privileges and you do not add yourself as a member or as an owner, you cannot edit this project's configuration later.
See Membership for more details.
Default reviewers:
This field auto-suggests users, and groups within Helix Server as you type (up to a combined limit of 20 entries). Click on the user or group to add them as a default reviewer. Each time a new review is created, the default reviewers will be added to the review.
Click the X icon to the right of the userid or groupid to remove that default reviewer from the default reviewers list.
When a review is part of multiple projects/project branches:
Example: A review is created and it is part of Project A, Project B, and Project Branch b.
Project A: default reviewer X is an Optional reviewer
Project B: default reviewer X is an Optional reviewer
Project Branch b: default reviewer X is a Required reviewer
Result: default reviewer X is added to the review as a Required reviewer
If users or groups are @mentioned in a new changelist description that includes #review
, they will be added to the review as reviewers. If any of these reviewers are already specified as default reviewers they will not be added to the review again, the reviewer's most restrictive reviewer option is used for the review.
If a default reviewer is deleted from Helix Server they will not be added to new reviews.
For more information about retained default reviewers, see Retain default reviewers.
Optional: click the Private checkbox to make this project private. Private projects and their associated reviews are only visible to project owners, moderators, and members, plus users with super privileges in Helix Server.
For more information, see Private projects.
Optional: set the Minimum up votes required for reviews associated with this project.
When Minimum up votes is set on a project, the project setting is used on the project branches unless Minimum up votes is set to 1 or higher on a branch. In this case the branch setting is used and the project setting is ignored.
A review cannot be approved until all of the Required reviewers have voted up the review and the Minimum up votes specified has been satisfied.
If the Workflow technology preview feature is disabled (default), all votes are counted not just votes from project members.
If the Minimum up votes required is set higher than the number of reviewers that exist for a review, approval will be blocked for that review. This is true even if all the reviewers on the review have voted up the review.
Optional (only displayed if the Workflow feature is enabled): associate a workflow with the project.
To remove the existing workflow without replacing it with another workflow, select No Workflow from the Workflow dropdown list. This is the default when you create a new project.
To associate a workflow, select the workflow from the Workflow dropdown list, or enter the workflow name in the search field. The field auto-suggests workflows as you type. Only workflows that you own, and shared workflows are shown in the dropdown list.
For more information about workflows and how project workflows interact with branch workflows, see Workflow basics.
Optional: click + Add Branch to display the branch drop-down dialog.
Optional (only displayed if the Workflow feature is enabled): associate a workflow with the project branch.
To use the parent project workflow, select Inherit from project from the Workflow dropdown list. This is the default when you create a new branch. If the parent project is set to No workflow, the branch will use the global workflow rules.
To associate a workflow, select the workflow from the Workflow dropdown list, or enter the workflow name in the search field. The field auto-suggests workflows as you type. Only workflows that you own, and shared workflows are shown in the dropdown list.
For more information about workflows and how project workflows interact with branch workflows, see Workflow basics.
Enter one or more branch paths in the Paths field using depot syntax, one path per line.
For example:
//depot/main/swarm/...
-//depot/main/swarm/test/...
//depot/main/swarm/test/ResultSummary.html
The first path includes all of the directories and files under //depot/main/swarm/ in the project branch.
The second path excludes all of the files in -//depot/main/swarm/test/ from the project branch.
The third path includes the ResultSummary.html file from the previously excluded //depot/main/swarm/test/ directory.
The Project Commits tab can fail to show some Helix Server commits in the top level view. Individual branch views display the commits correctly:
Optional: specify Default Reviewers for the project branch.
This field auto-suggests users, and groups within Helix Server as you type (up to a combined limit of 20 entries). Click on the user or group to add them as a default reviewer. Each time a new review is created, the default reviewers will be added to the review.
Click the X icon to the right of the userid or groupid to remove that default reviewer from the default reviewers list.
When a review is part of multiple projects/project branches:
Example: A review is created and it is part of Project A, Project B, and Project Branch b.
Project A: default reviewer X is an Optional reviewer
Project B: default reviewer X is an Optional reviewer
Project Branch b: default reviewer X is a Required reviewer
Result: default reviewer X is added to the review as a Required reviewer
If users or groups are @mentioned in a new changelist description that includes #review
, they will be added to the review as reviewers. If any of these reviewers are already specified as default reviewers they will not be added to the review again, the reviewer's most restrictive reviewer option is used for the review.
If a default reviewer is deleted from Helix Server they will not be added to new reviews.
For more information about retained default reviewers, see Retain default reviewers.
Optional: set the Minimum up votes required for reviews associated with this branch.
To inherit the parent project setting, leave Minimum up votes unset. This is the default when you create a new branch.
To use the branch setting and ignore the parent project setting, set Minimum up votes to 1 or more on the branch.
A review cannot be approved until all of the Required reviewers have voted up the review and the Minimum up votes specified has been satisfied.
If the Workflow technology preview feature is disabled (default), all votes are counted not just votes from project members.
If the Minimum up votes required is set higher than the number of reviewers that exist for a review, approval will be blocked for that review. This is true even if all the reviewers on the review have voted up the review.
Optional: check the Only Moderators can approve or reject reviews checkbox. When checked, a field is displayed allowing you to add a new moderator. The field auto-suggests groups and users within Helix Server as you type.
If a group is specified as a moderator, all of the members of that group have the same moderator privileges for that project branch as if they were added individually.
Once the branch specification is complete and the project has been saved, changing the state of any review associated with this moderated branch is restricted as follows:
Moderators prevent the automatic approval of reviews. Workflow is disabled by default: for more information about automatically approving reviews using workflow rules, see Workflow rules.
By default, when a review spans multiple branches that have different moderators, only one moderator from any one of the branches needs to approve the review.
Swarm can be configured to require that one moderator from each branch must approve the review, this is a global setting. If a moderator belongs to more than one of the branches spanned by the review, their approval will count for each of the branches they belong to. For instructions on how to configure moderator behavior, see Moderator behavior when a review spans multiple branches.
The review's author, when not a moderator, can change the review's state to Needs Review, Needs Revision, Archived, and can attach committed changelists.
Normally, the review's author cannot change the review's state to Approved or Rejected on moderated branches. However, authors that are also moderators have moderator privileges, and may approve or reject their own review.
When disable_self_approve
is enabled, authors who are moderators (or even users with admin privileges) cannot approve their own reviews.
These restrictions have no effect on who can start a review.
Once the branch definition has completed, if any moderators were specified, the number of moderators for that branch is displayed in the list of branches:
Optional: specify a job filter. The job filter allows you to specify criteria that are used to associate jobs with projects. For example, entering Subsystem=ProjectA
associates jobs whose subsystem field is set to ProjectA
with the current project.
This job filter is simpler than the filters available in other Helix Server clients. The filter must be expressed as field=value
pairs; bare keywords are not permitted. The asterisk for wildcard matching is permitted, but no other filter expression syntax is permitted.
By default, project members and moderators are notified when a new review is started. Project members, moderators, and followers are notified when a change is committed.
Select which actions send a notification:
Optional: click the Enable checkbox beside Automated Tests to display the automated tests configuration fields.
Specify a URL that triggers a test execution. Use the special arguments described in the dialog to help compose a URL that informs your test suite with important details. For more details, see Integrate your test suite to inform review acceptance or rejection
Optional: click the Enable checkbox beside Automated Deployment to display the automated deployment configuration fields.
Specify a URL that triggers a deployment of the project's code. Use the special arguments described in the dialog to help compose a URL that informs your deployment program with important details. For more details, see Automatically deploy code within a review
Click Save.
The Save button is disabled if any required fields are empty.
It is possible to create a project that you cannot edit. This can happen if you have specified owners but not yourself as an owner, or if you have not specified yourself as a member. Swarm can detect some (but not all) such situations when you save a project; when it does detect such a situation, a warning dialog is displayed.
If you see this dialog, click Continue to save the project without your ownership/membership, or click Cancel within the dialog to continue editing the project. The project page's Save and Cancel buttons are disabled while this dialog is visible.