One Perforce changelist per Jira task

By Luca Vitiello ยท Updated 6 October 2026

Dousen opens a numbered Perforce changelist for the Jira issue you select, writes the Jira key and two marker lines into its description, and sends the task and changelist to every DCC panel. Exports land in that changelist. When you submit, DousenCore can run a Jira workflow transition for the issue.

What changes for artists

Launch the DCC from DousenDesktop. A DCC started from a desktop shortcut has no Dousen panel. DousenDesktop runs on Windows 10 and 11, and tasks come from Jira Cloud.

Why one changelist per task?

A changelist that maps to a single task is easy to review, because the reviewer sees exactly the files that one ticket changed. It also makes bisecting practical. When a build breaks, you can step through submitted changelists and each step is one piece of work, not a mix of three. And when the Jira key sits in the changelist description, p4 changes and the depot's submitted history answer "which ticket changed this file" without opening Jira.

The cost is discipline. Artists have to open the right changelist, keep unrelated files out of it, and write a description that carries the key. Dousen does those parts for you.

How does Dousen open a changelist for a Jira issue?

  1. In DousenDesktop, open the My tasks tab and select the issue. The list comes straight from Jira Cloud with your own email and API token.
  2. Click Open changelist. Desktop creates a numbered changelist in your workspace with p4 change -i, under your own Perforce user, and reports the number to DousenCore, which stores it under the issue key.
  3. If the task already has an open changelist, Desktop reuses it instead of creating a duplicate. The task's detail pane shows the linked changelist (CL).

What does the changelist description contain?

Every changelist that Desktop opens carries the Jira key and two marker lines. The first holds DousenCore's id for the changelist, not the Perforce number. The second holds the project id and the Jira key. While the changelist is open, the description looks like this:

DOU-142
[Dousen:3f6c1a52-8e0b-4d7e-9a14-2b7d5c0e91aa]
[DousenProject:7b2e4c10-5d38-4f0a-b6c9-1e83a7d2f405 Task:DOU-142]

After you submit, your message comes first, followed by the same two marker lines, so the Jira key stays in the depot's submitted history. Dousen also uses the markers to find a changelist again after a lost reply, so a retry doesn't create a duplicate. The exact format is in Changelist descriptions.

How do the DCCs and exports pick up the changelist?

While the task stays selected, every DCC addon receives the task and changelist through the task.context bridge event. Launch the DCC from DousenDesktop and its Dousen panel shows the same task and changelist. Exports from any addon go to that changelist, and checkout and add in the panel use it too. If no task is active, they fall back to Perforce's default changelist, so select the task before you work. See DCC addons and Jira tasks.

How does submit work?

  1. Check that the changelist holds the exported files, sidecars and changed Unreal packages the task needs. The submit fails if the numbered changelist has no opened files, and Desktop never moves files out of the default changelist, so move them in with P4V first.
  2. Click Submit changes in the task's detail pane.
  3. In the Submit Changelist dialog, enter a message of at least 5 characters and click Submit changes.
  4. Desktop sets the description, runs p4 submit -c <CL#> and reports the result to DousenCore.

A confirmed publish doesn't mean the changelist was submitted. Check the submitted changelist in Perforce afterwards. A project with a separate source-art repository gets one changelist per Perforce server, and the Jira transition waits until every non-empty changelist for the task is submitted. See Source repositories.

How does Dousen move the Jira issue on submit?

A project admin connects Jira for the project in the web portal (Project settings, Jira Configuration) and sets jira.on_submit_transition, shown as Jira transition on CL submit under Integrations in Pipeline settings:

jira:
  on_submit_transition: "In Review"

After a successful submit, DousenCore lists the issue's transitions, picks the one whose name matches the setting, ignoring case, and runs it. Enter the name of the workflow transition, which can differ from the status it leads to. A transition called "Send to Review" can lead to a status called "In Review", and you would enter the transition name. If no transition matches or Jira returns an error, the submit still succeeds, the issue doesn't move, and DousenCore logs the problem. Saving or publishing an asset never changes the issue. Details are in Transition the issue on submit.

Dousen is free during the studio beta, with access by request, and free forever for teams of up to 5 users. Request early access.