A Swarm project enables you to set up custom approval workflows to reduce the risk of introducing bugs into the main branch, by grouping sets of files and assigning them to specific individuals for review.

To create a project you, must first be logged into Swarm. We are going to log-in as T. Williams.

Then, click the “Add Project” symbol. Enter a name and a description for your project.

Optionally you can restrict who can modify this project. If checked, a field is displayed to enter owners. This field auto-suggests Perforce users by their user IDs. Let's enter “T. Williams”.

Next, add at least one project member. Note, that existing projects and groups are also auto-suggested.

Now add files by entering one or more branches. Branches are defined using Perforce depot paths. First enter the name of the branch and then the depot paths, one per line. If you are using streams, just enter the stream’s root as a path for the branch.

Streams are also known as “branches with brains,” and are a variant of a body of code. They provide a way of implementing and enforcing codeline policy as well as visualizing codeline relationships and the flow of change across codelines.

A job filter allows you to specify criteria that are used to associate jobs with projects, expressed in field value pairs. A job is a numbered (or named) work request managed by Helix. Helix jobs enable you to track the status of bugs and enhancement requests and associate them with changelists that implement fixes and enhancements. Jobs can also be linked to other tools, such as JIRA.

By default, email notifications are checked, however some teams may not prefer to receive notifications for every new review or when a change is committed. At-mentioned users will receive email notifications even if these options are disabled.

Automated tests and automated deployment are optional. The default syntax for automated test and deployment is provided in a text-entry box when enabled.

Once setup, any change in the code base that belongs to this project will trigger a test, and in some cases, deploy the application in the staging/production area automatically, further streamlining developer workflows.

Click “Save” and your project setup is complete.

Project members can modify a project's configuration or delete the project, unless “Only owners and administrators can edit the project” is checked, as we have done here.

The new project appears under all projects, where any Swarm user can choose to follow the project.

Course - Using Swarm for Collaboration