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

Documentation | 2025.5

# Task details

P4 Code Review has lots of events that can been listened to and it uses these to process the tasks to generate data for P4 Code Review.

This section lists the P4 Code Review tasks available for use with your modules. They are listed along with the priorities of the task events. Events for each task are listed in highest to lowest priority order.

## task.commit

- Priority 200: the listener searches for all of the projects that are impacted by the change and checks for any user mentions that need to be linked. It sets up the email list here and queues the activity to be processed.
- Priority 100: the listener determines whether it should update or create any reviews for the changelist.
- Priority -100: the listener checks if any users have the Review daemon setup and attaches those users to the email to list.
- Priority -200: has two Listeners:
  - One listener checks the disable_change_emails configurable setting:

  true, the email will not be sent.

  false, P4 Code Review adds any reviews that might not be part of the to list because they are not a member of the project.

  - The other listener creates the activity for all users/projects that are linked to this event.
- Priority -300: the listener sends out the email that is related to the committed change.
- Priority -400: the listener links to JIRA for this change list.

## task.shelve

- Priority 100: the listener processes the shelve task to determine whether it should create or updates any reviews.
- Priority -200: the listener creates the activity for all users/projects that are linked to this event.
- Priority -300: the listener sends out the email that is related to the shelved change.

## task.review

- Priority 100: the listener processes the review and updates any records that are linked to the review. For example, @mention, new author, new participants, activity, and requirement level.
- Priority -200: the listener creates the activity for all users/project that are linked to this event.
- Priority -300: has two Listeners:
  - One listener sends out the email that is related to the review change.
  - The other listener fetches any associated changes and ensures they are linked to JIRA.

## task.change

Priority 1: the listener ensures the change and any mentions in the description are linked to JIRA issues.

## task.mail

Priority 1: this event is manually triggered from the review task. Other events do not manually trigger this task, they wait for it to run at the end. Once we are here P4 Code Review will validate all of the email settings and send the email out.

## task.cache.integrity

Priority 1: Listener to Build the cache integrity and update any records that are missing or incorrect. At present this is for users, groups, projects and workflow.

## task.cleanup.attachment

Priority 1: the listener will delete the attachment if a cleanup attachment task has been queued.

## task.attachment.thumbnail

Priority 1: the listener generates a thumbnail image from a file associated with an attachment. If the file is a simple image type the PHP gd library (if present) will be used for thumbnail generation, otherwise this is delegated to ImageMagick. Once generated this image will be set as an attribute on the depot file associated with the attachment.

## task.cleanup.archive

Priority 1: the listener will clean up any archive files if their life time has expired.

## task.shelvedel

- Priority 1: the listener processes any changelist that has had files deleted from it.
- Priority -200: the listener creates the activity for all users/projects that are linked to this event.

## task.changesave

Priority 1: the listener processes the change to ensure that it is valid and puts a future task in the queue to do the task.changesaved tasks.

## task.changesaved

Priority 1: the listener takes the changelist description and updates the review description if sync description is enabled.

## task.comment

- Priority 1: the listener processes the comment being created.
- Priority -200: the listener creates the activity for all users/projects that are linked to this event.
- Priority -300: the listener sends out an email related to the committed change.

## task.comment.batch

- Priority 1: If comments are being batched, the listener will process the comment(s) and put a task into the queue to be processed when the notification_delay_time has elapsed.
- Priority -200: the listener creates the activity for all users/projects that are linked to this event.
- Priority -300: the listener sends out an email related to the committed change.

## task.commentSendDelay

- Priority 1: if the user or system has forced a batched comment to be sent the listener will setup the email here.
- Priority -200: the listener creates the activity for all users/projects that are linked to this event.
- Priority -300: the listener sends out an email related to the committed change.

## task.group

Priority 1: the listener invalidates the group cache if the group is changed.

## task.groupdel

Priority 1: the listener invalidates the group cache if the group has been deleted.

## task.job

- Priority 1: the listener sets up the Activity for the job and attaches any users/projects to the activity. It also checks if any users want to be notified about Job changes.
- Priority -200: the listener creates the activity for all users/projects that are linked to this event.
- Priority -300: has two Listeners:
  - One listener sends out an email related to the committed change.
  - The other listener fetches associated changes and ensures they are linked to JIRA.

## task.ping

Priority 1: Receive Ping, saves the ping record

## task.project.created

- Priority 1: The listener sets up the Activity for the project created and attaches any users to the activity.

- Priority -200: The listener creates the activity for all users linked to this event.

## task.project.updated

- Priority 1: The listener sets up the Activity for the project created and attaches any users to the activity.

- Priority -200: The listener creates the activity for all users linked to this event.

## task.testdefinition.migration

- Priority 1: the listener Handle the test definitions migration event by creating activity to be processed

- Priority -200: the listener creates the activity when testdefinition is migrated

## task.testdefinition.updated

- Priority 1: the listener Handle the test definitions update event

- Priority -200: the listener creates the activity when testdefinition is updated

## task.testdefinition.created

- Priority 1: the listener Handle the test definitions creation event

- Priority -200: the listener creates the activity when testdefinition is created

## task.testdefinition.deleted

- Priority 1: the listener Handle the test definitions deletion event

- Priority -200: the listener creates the activity when testdefinition is deleted

## task.testrun

Priority 1: Listener for TestRun add/update. Updates the overall test status on a review if the TestRun changed is for the latest version.

## task.testrun.onDemand.started

- Priority 1: Listener for 'on demand' test requests and attaches an activity when one of these tests has been started.

- Priority -200: the listener creates the activity when one of these 'on demand' tests has been started.

## task.testrun.upgrade

- Priority 1: Listener to upgrade existing TestRun instances triggered by an upgrade task in the queue

- Priority -200: The listener creates the activity when the testrun is upgraded.

## task.user

Priority 1: the listener invalidates the user cache if the user is changed.

## task.userdel

Priority 1: the listener invalidates the user cache if the user has been deleted.

## task.workflow.created

- Priority 1: the listener sets up the Activity for the new workflow and attaches any users/projects to the activity.
- Priority -200: the listener creates the activity for all users/projects that are linked to this event.

## task.workflow.updated

- Priority 1: the listener sets up the Activity for the updated workflow and attaches any users/projects to the activity.
- Priority -200: the listener creates the activity for all users/projects that are linked to this event.

## task.workflow.deleted

- Priority 1: the listener sets up the Activity for the deleted workflow and attaches any users/projects to the activity.

- Priority -200: the listener creates the activity for all users/projects linked to this event.

## task.workflow.upgrade

- Priority 1: the listener sets up the Activity for the upgraded workflow and attaches any users/projects to the activity.

- Priority -200: the listener creates the activity for all users/projects linked to this event.

Your search for returned results