Worker Event Types
This page lists all supported event types for JFrog Workers. Use this reference to identify the right event for your use case, then follow the links to the corresponding code sample.
For step-by-step instructions on creating and configuring Workers in the UI, see Configure Workers for Custom Flows.
Event Driven Workers for Artifactory
Event-driven workers are a powerful tool that allows you to automate actions in response to specific events occurring within your Artifactory environment.
See this table for the supported worker events and relevant code samples:
| Worker | Description | Code Samples |
|---|---|---|
| Before Download Worker | Triggers before downloading an artifact. For example, verify user permissions to ensure they can download the artifact. Platforms entitled to JFrog Advanced Security (JAS) or JFrog Curation can block downloads of artifacts using this Worker's Stop response. Platforms without JAS or Curation can still deploy and run this Worker, but the Stop Action is not enforced: if the Worker returns Stop, the download will not be blocked and a warning will be logged. For example, log the download activity for analytics purposes. | Before Download Worker Code Sample |
| After Download Worker | Triggers when an artifact download process is initiated without waiting for it to complete. | After Download Worker Code Sample |
| Before Create Property Worker | Triggers before creating a property. For example, verify that users can create properties. | Before Create Property Worker Code Sample |
| Before Upload Worker | Triggers before uploading an artifact to cloud storage and without waiting for it to complete. Platforms entitled to JFrog Advanced Security (JAS) or JFrog Curation can block uploads of artifacts using this Worker's Stop response. Platforms without JAS or Curation can still deploy and run this Worker, but the Stop Action is not enforced: if the Worker returns Stop, the upload will not be blocked and a warning will be logged. For example, verify user permissions to upload an artifact. | Before Upload Worker Code Sample |
| After Create Worker | Triggers after successfully creating an artifact in the Artifactory Storage. For example, add a property value automatically to a newly created artifact. | After Create Worker Code Sample |
| Before Delete Property Worker | Triggers before deleting a property for an artifact. For example, verify user permissions to delete a property for an artifact. | Before Delete Property Worker Code Sample |
| Before Delete Worker | Triggers before deleting an artifact. For example, terminate deleting an artifact based on certain conditions (tagged as production). | Before Delete Worker Code Sample |
| After Move Worker | Triggers after moving an artifact successfully from one path to another. For example, notify the monitoring team after an artifact is moved. | After Move Worker Code Sample |
| After Build Info Save Worker | Triggers after saving build info. For example, start a CI/CD pipeline immediately after saving build info. | After Build Info Save Worker Code Sample |
| Before Copy Worker | Triggers before copying an artifact. For example, terminate copying an artifact based on certain conditions (tagged as deprecated). | Before Copy Worker Code Sample |
| Before Create Worker | Triggers before creating an artifact in Artifactory Storage. Platforms entitled to JFrog Advanced Security (JAS) or JFrog Curation can block uploads of artifacts using this Worker's Stop response. Platforms without JAS or Curation can still deploy and run this Worker, but the Stop Action is not enforced: if the Worker returns Stop, the upload will not be blocked and a warning will be logged. For example, terminate creating an artifact based on certain conditions (avoid duplicates). | Before Create Worker Code Sample |
| Before Move Worker | Triggers before moving an artifact. For example, terminate moving an artifact based on certain conditions (tagged as production). | Before Move Worker Code Sample |
| Before Remote Info Worker | Triggers before querying the remote repository for an artifact's availability. Platforms entitled to JFrog Advanced Security (JAS) or JFrog Curation can block downloads of remote info using this Worker's Stop response. Platforms without JAS or Curation can still deploy and run this Worker, but the Stop Action is not enforced: if the Worker returns Stop, the download will not be blocked and a warning will be logged. For example, add an extra header before reaching a remote repository. | Before Remote Info Worker Code Sample |
| After Remote Download Worker | Triggers after downloading a remote artifact. For example, update metadata after successfully downloading a remote artifact. | After Remote Download Worker Code Sample |
| Before Delete Replication Worker | Triggers before replicating a delete action. For example, terminate replicating delete action based on certain conditions (particular artifactory instance). | Before Delete Replication Worker Code Sample |
| Before Directory Replication Worker | Triggers before replicating a directory. Platforms entitled to JFrog Advanced Security (JAS) or JFrog Curation can block directory replication using this Worker's Stop response. Platforms without JAS or Curation can still deploy and run this Worker, but the Stop Action is not enforced: if the Worker returns Stop, the replication will not be blocked and a warning will be logged. For example, terminate replicating a directory based on certain conditions (particular artifactory instance). | Before Directory Replication Worker Code Sample |
| Before File Replication Worker | Triggers before replicating a file. Platforms entitled to JFrog Advanced Security (JAS) or JFrog Curation can block file replication using this Worker's Stop response. Platforms without JAS or Curation can still deploy and run this Worker, but the Stop Action is not enforced: if the Worker returns Stop, the replication will not be blocked and a warning will be logged. For example, terminate replicating a file based on certain conditions (non-production files). | Before File Replication Worker Code Sample |
| Before Property Replication Worker | Triggers before replicating a property. For example, terminate replicating a property based on certain conditions (specific properties). | Before Property Replication Worker Code Sample |
| Before Statistics Replication Worker | Triggers before replicating statistics. For example, terminate replicating statistics based on certain conditions (download count). | Before Statistics Replication Worker Code Sample |
| After Copy Worker | Triggers after copying an artifact or directory from one repository to another. If the destination is a custom path and not exists, it is created first and then it copies. For example, log the copy action for audit purposes. | After Copy Worker Code Sample |
| After Create Property Worker | Triggers after creating a property. For example, log the create property action for audit purposes or notify another system. | After Create Property Worker Code Sample |
| After Delete Property Worker | Triggers after deleting a property. For example, notify upon deletion of significant properties. | After Delete Property Worker Code Sample |
| After Delete Worker | Triggers after deleting an artifact. For example, notify upon deletion of significant artifacts. | After Delete Worker Code Sample |
| Alt Remote Path Worker | Triggers before accessing a remote path. Platforms entitled to JFrog Advanced Security (JAS) or JFrog Curation can block downloads via an alternative remote path using this Worker's Stop response. Platforms without JAS or Curation can still deploy and run this Worker, but the Stop Action is not enforced: if the Worker returns Stop, the download will not be blocked and a warning will be logged. For example, ensure the remote path is changed before accessing the old one. | Alt Remote Path Worker Code Sample |
| Before Remote Download Worker | Triggers before downloading an artifact from a remote repository. Platforms entitled to JFrog Advanced Security (JAS) or JFrog Curation can block downloads of artifacts from a remote repository using this Worker's Stop response. Platforms without JAS or Curation can still deploy and run this Worker, but the Stop Action is not enforced: if the Worker returns Stop, the download will not be blocked and a warning will be logged. For example, verify the API token before processing the download. | Before Remote Download Worker Code Sample |
| Alt Response Worker | Deprecated from version 7.119.0 | |
| Alt All Responses Worker | Triggers before downloading an artifact from a remote path for handling responses. Platforms entitled to JFrog Advanced Security (JAS) or JFrog Curation can block downloads from alternative responses using this Worker's Stop response. Platforms without JAS or Curation can still deploy and run this Worker, but the Stop Action is not enforced: if the Worker returns Stop, the download will not be blocked and a warning will be logged. For example, replace the remote response to add custom information. | Alt All Responses Worker Code Sample |
| Alt Remote Content Worker | Triggers before downloading the remote content. Platforms entitled to JFrog Advanced Security (JAS) or JFrog Curation can block downloads of remote content using this Worker's Stop response. Platforms without JAS or Curation can still deploy and run this Worker, but the Stop Action is not enforced: if the Worker returns Stop, the download will not be blocked and a warning will be logged. For example, send alternate content instead of the requested artifact. | Alt Remote Content Worker Code Sample |
| After Download Error Worker | Triggers after an error occurs while downloading an artifact. For example, monitor and log errors encountered during downloads. | After Download Error Worker Code Sample |
| Before Download Request Worker | Triggers once a download request has passed all filters (such as authentication), indicating readiness to process the request. Platforms entitled to JFrog Advanced Security (JAS) or JFrog Curation can block downloads of artifacts from download requests using this Worker's Stop response. Platforms without JAS or Curation can still deploy and run this Worker, but the Stop Action is not enforced: if the Worker returns Stop, the download will not be blocked and a warning will be logged. For example, verify user permissions again just before processing the download. | Before Download Request Worker Code Sample |
| Before Build Info Save Worker | Triggers before saving build info. Platforms entitled to JFrog Advanced Security (JAS) or JFrog Curation can block publishing of build info using this Worker's Stop response. Platforms without JAS or Curation can still deploy and run this Worker, but the Stop Action is not enforced: if the Worker returns Stop, the publication will not be blocked and a warning will be logged. For example, ensure all required metadata is included before saving build info to maintain data integrity. | Before Build Info Save Worker Code Sample |
| Before Repository Create Worker | Triggers before a repository configuration is persisted. This is a blocking event: a STOP response aborts the repository creation. For example, enforce naming conventions, allowed package types, or required project assignment for new repositories. System-managed repositories are excluded. | Before Repository Create Worker Code Sample |
| Before Repository Update Worker | Triggers before a repository configuration update is persisted. This is a blocking event: a STOP response aborts the update. For example, prevent disabling security scanning on production repositories. | Before Repository Update Worker Code Sample |
| Before Repository Delete Worker | Triggers before a repository deletion is persisted. This is a blocking event: a STOP response aborts the deletion. For example, protect critical repositories or enforce deletion approval workflows. | Before Repository Delete Worker Code Sample |
| After Repository Create Worker | Triggers after a repository is created and persisted successfully. This is a non-blocking event: Worker responses do not affect the create operation. For example, provision permissions or notify external systems after a repository is created. | After Repository Create Worker Code Sample |
| After Repository Update Worker | Triggers after a repository configuration update is persisted successfully. This is a non-blocking event: Worker responses do not affect the update operation. For example, push change audits to external systems or trigger downstream synchronization. | After Repository Update Worker Code Sample |
| After Repository Delete Worker | Triggers after a repository deletion completes successfully, or after a partial content deletion. This is a non-blocking event: Worker responses do not affect the delete operation. For example, clean up external resources or record deletion audits. When content deletion is partial, the payload includes | After Repository Delete Worker Code Sample |
Event Driven Workers for Access
Event-driven workers are a powerful tool that allows you to automate actions in response to specific events occurring within your Access environment.
| Worker | Description | Code Samples |
|---|---|---|
| Before Create Token Worker | Triggers before creating a token. For example, verify user permissions to ensure they can create a token. | Before Create Token Worker Code Sample |
| Before Revoke Token Worker | Triggers before revoking a token. For example, verify whether a token is in active use. | Before Revoke Token Worker Code Sample |
| Before Token Expiry Worker | Triggers before a token expires. For example, send a message to users 24 hours before their token expires. | Before Token Expiry Worker Code Sample |
Event Driven Workers for Runtime
| Worker | Description | Code Samples |
|---|---|---|
| After Runtime Workload State Change Worker | Triggers when a runtime workload change event occurs. For example, monitor and alert on vulnerabilities and risks associated with image tags in a Kubernetes cluster. | After Runtime Workload State Change Worker Code Sample |
Updated 4 days ago
