p4 jobs

List jobs known to the Perforce versioning service.

Syntax

p4 [g-opts] jobs [-e jobview] [-i -l -r] [-m max] [file[rev] ...]
p4 jobs -R

Description

When called without any arguments, p4 jobs lists all jobs stored in Perforce. You can limit the output of the command by specifying various criteria with options and arguments. If you specify a file pattern, the jobs listed will be limited to those linked to changelists affecting particular files. The -e option can be used to further limit the listed jobs to jobs containing certain words.

Jobs are listed in alphanumeric order (or, if you use the -r option, in reverse alphanumeric order) by name, one job per line. The format of each line is:

jobname on date by user *status* description

The description is limited to the first 31 characters, unless the -l (long) option is used.

If any of the date, user, status, or description fields have been removed by the Perforce superuser with p4 jobspec, the corresponding value will be missing from each job’s output.

To limit the list of jobs to those that have been fixed by changelists that affected particular files, use p4 jobs filespec. The files or file patterns provided can contain revision specifiers or a revision range.

Options

-e jobview

List only those jobs that match the criteria specified by jobview. See Usage Notes for a discussion of job views.

-i files ...

Include jobs fixed by changelists that affect files integrated into the named files.

-l

Output the full description of each job.

-m max

Include only the first max jobs, sorted alphanumerically. If used with the -r option, the last max jobs are included.

-r

Display jobs in reverse alphabetical order by job name.

-R

Rebuild the job table and re-index each job.

Re-indexing the table is necessary either when upgrading from version 98.2 or earlier, or when upgrading from 99.1 to 2001.1 or higher and you wish to search your body of existing jobs for strings containing punctuation.

g-opts

See Global Options.

Usage Notes

Can File Arguments Use Revision Specifier? Can File Arguments Use Revision Range? Minimal Access Level Required

Yes

Yes

list

Job Views

Use p4 jobs -e jobview to limit the list of jobs to those that contain particular words. You can specify that the search terms be matched only in particular fields, or anywhere in the text of the job. You can use job views to match jobs by values in date fields, though there are fewer options for dates than there are for text. Job fields of type bulk are not indexed for searching.

Text matching is case-insensitive. All alphanumeric strings (including words including embedded punctuation) separated by whitespace are indexed as words.

The job view 'word1word2 ... wordN' can be used to find jobs that contain all of word1 through wordN in any of the job’s fields.

Spaces between search terms in job views act as boolean AND operations. To find jobs that contain any of the terms (boolean OR), separate the terms with the “|” character.

Ampersands (&) can be used as boolean ANDs as well; the boolean operators bind in the order &, |, space (highest precedence to lowest precedence). Use parentheses to change the grouping order.

Search results can be narrowed by matching values within specific fields with the job view syntax "fieldname=value". The value must be a single token, including both alphanumeric characters and punctuation.

The wildcard "*" allows for partial word matches. The job view "fieldname=string*" matches "string", "stringy", "stringlike", and so on.

Date fields can be matched by expressing the job view date as yyyy/mm/dd or yyyy/mm/dd:hh:mm:ss. If a specific time is not provided, the equality operator (=) matches the entire day.

The usual comparison operators (=, >, <, >=, and <=) are available.

Additionally, you can use the NOT operator (^) to negate the sense of some comparisons. (See Limitations below for details).

Regular expression matching is supported by the regular expression matching operator (~=).

To search for words containing characters that are job search expression operators, escape the characters with a backslash (\) character. To match the backslash character, escape it with an additional backlash (\\).

The behavior of these operators depends on the type of job field you’re comparing against:

Field Type Use of Comparison Operators in Job Views

word

The equality operator (=) must match the value in the word field exactly.

The relational operators perform comparisons in ASCII order.

text

The equality operator (=) matches the job if the word given as the value is found anywhere in the specified field.

The relational operators are of limited use here, because they match the job if any word in the specified field matches the provided value.

For example, if a job has a text field ShortDescription that contains only the phrase gui bug, and the job view is "ShortDesc<filter", the job matches the job view, because bug<filter.

line

As for field type text, above.

select

The equality operator (=) matches a job if the value of the named field is the specified word. The relational operators perform comparisons in ASCII order.

date

Dates are matched chronologically. If a specific time is not provided, the operators =, <=, and >= match the entire day.

If you’re not sure of a field’s type, run p4 jobspec -o, which outputs the job specification used at your site. The p4 jobspec field called Fields: contains the job fields' names and datatypes. See p4 jobspec for a discussion of the different field types.

Other Usage Notes

Limitations

Examples

p4 jobs //depot/proj/file#1

List all jobs attached to changelists that include revisions of //depot/proj/file.

p4 jobs -i //depot/proj/file

List all jobs attached to changelists that include revisions of //depot/proj/file or revisions of files that were integrated into //depot/proj/file.

p4 jobs -e gui

List all jobs that contain the word gui in any field.

p4 jobs -e "gui Submitted-By=joe"

List all jobs that contain the word gui in any field and the word joe in the Submitted-By: field.

p4 jobs -e "gui ^Submitted-By=joe"

List all jobs that contain the word gui in any field and any value other thanjoe in the Submitted-By: field.

p4 jobs -e "window*"

List all jobs containing the word "window", "window.c", "Windows", in any field. The quotation marks are used to prevent the local shell from expanding the "*" on the command line.

p4 jobs -e window.c

List all jobs referring to window.c in any field.

p4 jobs -e "job=* ^unwanted"

List all jobs not containing the word unwanted in any field.

p4 jobs -e "(fast|quick)&date>1998/03/14"

List all jobs that contain the word fast or quick in any field, and have a date: field pointing to a date on or after 3/14/98.

p4 jobs -e "fast|quick" //depot/proj/...

List all jobs that have the word fast or quick in any field, and that are linked to changelists that affected files under //depot/proj.

Related Commands

To create or edit an existing job

p4 job

To attach a job to a particular changelist, indicating that the job is fixed by that changelist

p4 fix

To list all jobs and changelists that have been linked together

p4 fixes

To view all the information about a particular changelist, including the jobs linked to the changelist

p4 describe

To change the format of the jobs used at your site (superuser only)

p4 jobspec

To read information about the format of jobs used on your site (any user)

p4 jobspec -o

To set a default job view that includes jobs matching the job view in all new changelists

p4 user