Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

P4 for Visual Studio Documentation | 2025.2

# Use jobs for defect tracking

Jobs enable you to record requests for work. You can associate jobs with changelists to track the work done to fulfill the request. When you submit the changelist, the job can be closed.

## Create jobs

1. Go to View > Jobs.
2. In the Jobs tool window, right-click anywhere in the job list pane and select New Job…​

3. Fill in the Job form.

   The fields that appear on the Job form depend on the customizations set up by your P4 Server administrator. To learn more, see P4 Server Administration Documentation.

4. Click OK.

## Edit jobs

1. Go to View > Jobs.
2. In the Jobs tool window, right-click a job row and select Edit Job…​.

3. Update the Job form.

   The fields that appear on the Job form depend on the customizations set up by your P4 Server administrator. To learn more, see P4 Server Administration Documentation.

4. Click OK.

## Display jobs

To view jobs:

1. Go to View > Jobs.

   In the Jobs tool window, enter search terms in the Keywords field or the depot directory path in the Folder/file field.

   For keyword syntax, see Filter Expressions.

   Use the Folder/file field when you know the location of a file that is included in an associated changelist. Enter the directory path using P4 Server syntax (`//depot/folder/folder/filename` or `//depot/folder/…​`)

2. Click Filter.
3. Click a job row to view details about the job.

To change the order in which columns are displayed, drag the column headings right or left to the desired position. To sort by column, click the sort arrow on a column heading.

## Associate changelists with jobs

To add a job to a pending changelist:

1. Open the Submit dialog.

2. Select a changelist in the Link jobs to changelist list.

   If the job you want is not on the list, add it by clicking Browse…​. In the Jobs Browser, find and select the job you want. For keyword syntax, see Filter Expressions.

3. Specify the Job status upon submit: `open`, s`uspended`, or `closed`.

You can also add a changelist to a job by editing the job. To learn more, see Edit jobs.

## Filter Expressions

Valid job filtering expressions are as follows:

Syntax | Description | Example
--- | --- | ---
`word word word` | Words separated by spaces indicate that the job must contain all the words in the string in any of the job fields to be included in the filter. Spaces represent the boolean "and". | `filter file mailbox` Displays jobs containing all the words "filter", "file", and "mailbox" in any of the job fields.
`word | word | word` | Displays jobs that contain any of the specified words. Pipes represent the boolean "or". | `filter|file|mailbox` Displays jobs containing the words "filter", "file" or "mailbox".
`^word` | Displays jobs that do not contain the specified word. The 'not' (^) operator cannot be used alone or with the 'or' operator (|), only with the 'and' operator (& or space). | `filter ^file` Displays jobs that contain "filter" and do not contain "file".
`fieldname = value` | Displays jobs that include the specified value in the specified field. | `status=open owner=edk` Displays open jobs owned by `edk`.
`^fieldname = value` | Displays jobs that do not include the specified value in the specified field. The 'not' (^) operator cannot be used alone or with the 'or' operator (|), only with the 'and' operator (& or space). | `^status=closed& subsystem=parser` Displays unclosed jobs affecting the `parser` subsystem.
`fieldname = value +*` | Displays jobs that contain the specified value in the specified field, including any combination of characters in the position of the asterisk wildcard. | `owner=*ed*` Displays jobs in which the value of the field `owner` contains the substring `ed`, including such values as `Ted`, `Edk`, and `Fred`.

Your search for returned results