Perforce 2008.1 Command Reference
<< Previous Chapter
p4 jobs
Table of Contents
Perforce on the Web
Next Chapter >>
p4 label

p4 jobspec


Edit the jobs template.


p4 [g-opts] jobspec
p4 [g-opts] jobspec [-i]
p4 [g-opts] jobspec -o


The p4 jobspec command presents the Perforce administrator with a form in which job fields can be edited, created, deleted, and refined.

Do not confuse the names of the fields in the p4 jobspec form with the names of the fields within a job. The fields in the p4 jobspec form are used to store information about the fields in the p4 jobs form.

Form Fields

Field Name


A list of field definitions for your site's jobs, one field per line. Each line is of the form code name datatype length persistence.

  • code: a unique integer that identifies the field internally to Perforce. The code must be between 106 and 199. Codes 101 to 105 are reserved for Perforce use; see the Usage Notes below for more details.
  • name: the name of the field. This can be changed at any time, while the code should not change once jobs have been created.
  • datatype: the datatype of the field. Possible values are:
    • word: a single arbitrary word
    • date: a date/time field
    • select: one of a fixed set of words
    • line: one line of text
    • text: a block of text, starting on the line underneath the fieldname.


  • length: recommended length for display boxes in GUI clients accessing this field. Use a value of 0 to let a Perforce client program choose its own value.
  • persistence: does the field have a default value? Is it required? Is it read-only? Possible values are:
    • optional: field can take any value or be erased.
    • default: a default value is provided; it can be changed or erased.
    • required: a default value is provided; it can be changed but the user must enter a value.
    • once: read-only; the field value is set once to a default value and is never changed.
    • always: read-only; the field's value is set to a new default when the job is edited. This is useful only with the $now and $user variables; it allows you to change the date a job was modified and the name of the modifying user.


Contains a lists of fields and valid values for select fields.

Enter one line for each field of datatype select. Each line must contain the fieldname, a space, and the list of acceptable values separated by slashes. For example:

JobType bug/request/problem.


Contains a list of fields and their default values for each field that has a persistence of default, required, once, or always.

Each line must contain the field name and the default value, separated by a space. For example:

JobType bug

Any one-line string can be used, or one of three built-in variables:

  • $user: the user who created the job
  • $now: the current date
  • $blank: the phrase <enter description here>
When users enter jobs, any fields in your jobspec with a preset of $blank must be filled in by the user before the job is added to the system.

See the Usage Notes below for special considerations for field 102.


Textual comments that appear at the top of each p4 job form. Each line must begin with the comment character #.

See the Usage Notes below for special considerations for these comments if your users need to enter jobs through P4Win, the Perforce Windows Client.



Write the jobspec form to standard output.


Read the jobspec form from standard input.


See the Global Options section.

Usage Notes

Can File Arguments Use
Revision Specifier?

Can File Arguments Use
Revision Range?

Minimal Access Level Required



or list to use the -o flag

Field 101 is required by Perforce and cannot be renamed nor deleted.

Fields 102 through 105 are reserved for use by Perforce client programs. Although it is possible to rename or delete these fields, it is highly undesirable to do so. Perforce client programs may continue to set the value of field 102 (the Status: field) to closed (or some other value defined in the Presets: for field 102) upon changelist submission, even if the administrator has redefined field 102 to for use as a field that does not contain closed as a permissible value, leading to unpredictable and confusing results.

By default, a job's status is set to closed after you use p4 fix, p4 change, or p4 submit. To change the default fix status from closed to some other fixStatus (assuming that you have defined the fixStatus as a valid select setting in the Values: field), use the special syntax of jobStatus,fix/fixStatus in the Presets: field for field 102 (job status). To change the behavior of p4 fix, p4 change, and p4 submit to leave job status unchanged, use the special fixStatus of same.

Related Commands

To create, edit, or view a job

p4 job

To attach a job to a changelist

p4 fix

To list jobs

p4 jobs

To list jobs attached to specific changelists or changelists attached to specific jobs

p4 fixes

Perforce 2008.1 Command Reference
<< Previous Chapter
p4 jobs
Table of Contents
Perforce on the Web
Next Chapter >>
p4 label
Please send comments and questions about this manual to [email protected].
Copyright 1999-2008 Perforce Software. All rights reserved.
Last updated: 07/08/08