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

P4 CLI Reference | 2025.1

# p4 job

Create or edit an instance of a job, such as a defect or enhancement request.

## Syntax

    p4 [g-opts] job [-f] [jobName]
    p4 [g-opts] job -d jobName
    p4 [g-opts] job -o [jobName]
    p4 [g-opts] job -i [-f]

Syntax conventions

## Description

A job is a written-language description of work that needs to be performed on files in the depot. It might be a description of a bug (for instance, "the scroll mechanism is not working correctly") or an enhancement request (for instance, "please add a flag that forces a certain operation to occur") or anything else requiring a change to some files under P4 Server control.

Jobs are similar to changelist descriptions in that they both describe changes to the system as arbitrary text, but whereas changelist descriptions describe completed work, jobs tell developers what work needs to be done.

Jobs are created and edited in forms displayed by `p4 job`. The user enters the textual description of the job into the form, along with information such as the severity of the bug, the developer to whom the bug is assigned, and so on. Because the P4 Server superuser can change the fields in the job form with `p4 jobspec`, the fields that make up a job can vary from one P4 Server installation to another.

When `p4 job` is called with no arguments, a new job named `job`NNNNNN`` is created, where `NNNNNN` is a sequential six-digit number. You can change the job’s name within the form before quitting the editor. If `p4 job` is called with a `jobname` argument, a job of that name is created; if that job already exists, it is edited.

Once a job has been created, you can link the job to the changelist(s) that fix the job with `p4 fix`, `p4 change`, or `p4 submit`. When a job is linked to a changelist, under most circumstances the job’s status is set to `closed`. (See Usage notes for more information).

## Form Fields

These are the fields as found in the default job form. Because the fields that describe a job can be changed by the P4 Server superuser, the form you see at your site might be different.

Field Name | Type | Description
--- | --- | ---
`Job:` | Writable | The job’s name. For a new job, this is `new`. When the form is closed, this is replaced with the name `job`NNNNNN``, where `NNNNNN` is the next six-digit number in the job numbering sequence. You can change the text in this field. Be aware of the Limitations on characters in filenames and entities.
`Status:` | Writable Value | The value of this field must be `open`, `closed`, or `suspended`. When the job is linked to a changelist, the value of this field is set to `closed` when the changelist is submitted.
`User:` | Writable | The name of the user that created the job.
`Date:` | Writable | The date the job was modified.
`Description:` | Writable | An arbitrary text description of the job.

## Options

`-d jobname` | Delete job `jobname`, but only if it has no associated pending or submitted fixes.
`-f` | Force option. Allows P4 Server administrators to edit read-only fields.
`-i` | Read the job form from standard input without invoking an editor.
`-o` | Write the job form to standard output without invoking an editor.
`g-opts` | See Global options.

## Usage notes

Can File Arguments Use Revision Specifier? | Can File Arguments Use Revision Range? | Minimal Access Level Required
--- | --- | ---
N/A | N/A | `open`

- If the P4 Server superuser has eliminated field ID# `102` (the `Status` field) with `p4 jobspec`, P4 Server is unable to close jobs when the changelists to which they are linked are submitted. See the `p4 jobspec` command and Customizing P4 Server: job specifications in the P4 Server Administration Documentation .
- After a job has been created or changed, P4 Server indexes the job so that `p4 jobs` -e can locate the job quickly. The index keys are `word`, `fieldname` where `word` is a case-insensitive alphanumeric word. Values in date fields are stored as the number of seconds since January 1, 1970, 00:00:00.

## Examples

`p4 job` | Create a new job; by default, its name is of the form `job`NNNNNN``.
`p4 job job000135` | Edit job `job000135`.

Your search for returned results