Manage User Plugins

Deploy Groovy-based user plugins on self-managed Artifactory and understand their local-only execution in a Federation.

Deploy and manage Groovy-based user plugins that extend Artifactory's functionality. In a Federation, user plugins execute locally on each member and are not synchronized or distributed automatically.

Who can perform this task: Platform Administrators

Prerequisites:

  • Admin access to the JFrog Platform
  • Self-managed Artifactory (user plugins are not supported on SaaS)
  • Plugin files written in Groovy
📘

User plugins are available only on self-managed Artifactory instances. They aren't supported on SaaS deployments.

Using the Platform UI

View and Reload Plugins

View the plugins currently installed on this instance, and reload them after adding or modifying plugin files.

To manage user plugins:

  1. In the Administration module, navigate to Artifactory Settings > User Plugins.
  2. The installed plugins are listed with their type, version, and status.
  3. To reload plugins after adding or modifying plugin files, click Reload Plugins.

Plugin Types

The following plugin types are available.

Plugin TypeDescription
DownloadIntercept and modify download requests.
Before DownloadExecute logic before download starts.
After DownloadExecute logic after download completes.
DeployIntercept and modify deploy requests.
Before CreateExecute logic before an artifact is created.
After CreateExecute logic after an artifact is created.
Before DeleteExecute logic before an artifact is deleted.
After DeleteExecute logic after an artifact is deleted.
Before MoveExecute logic before an artifact is moved.
After MoveExecute logic after an artifact is moved.
Before CopyExecute logic before an artifact is copied.
After CopyExecute logic after an artifact is copied.
StorageRespond to storage-related events.
BuildExecute logic during build lifecycle events.
PromotionsCustom promotion logic.
RealmsCustom authentication realms.
Scheduled JobsPeriodic tasks using cron expressions.

Install a Plugin

Deploy a new Groovy plugin file to this Artifactory instance.

To install a plugin:

  1. Place the Groovy plugin file in the $JFROG_HOME/artifactory/var/etc/artifactory/plugins/ directory.
  2. In the UI, click Reload Plugins to load the new plugin.

Using the REST API

Reload plugins using the Reload Plugins REST API:

POST /artifactory/api/plugins/reload

List installed plugins:

GET /artifactory/api/plugins

Execute a plugin (replace {pluginName} with the plugin's name):

POST /artifactory/api/plugins/execute/{pluginName}

For example:

POST /artifactory/api/plugins/execute/cleanupPlugin

Federation Considerations

  • Plugins are local: User plugins are deployed to the local file system and execute only on the member where they are installed. They aren't synchronized or distributed to other Federation members.
  • Deploy consistently: If a plugin modifies deployment behavior (for example, adding metadata, validating content, or transforming artifacts), install the same plugin on all Federation members to ensure consistent behavior regardless of which member receives the deployment.
  • Event-triggered plugins: Plugins that respond to events (for example, afterCreate, afterDelete) execute when artifacts are synchronized to a member. A deployment on member A triggers afterCreate on member A, and when the artifact synchronizes to member B, the afterCreate plugin on member B also fires (if installed).
  • Avoid conflicting side effects: If a plugin modifies artifacts (for example, adds properties, moves files), ensure these modifications don't create circular Federation events. Modifications made by a plugin generate new Federation events that propagate to other members.
  • Scheduled jobs: Plugins with scheduled jobs run independently on each member. Coordinate schedules to avoid duplicate operations across Federation members (for example, a cleanup plugin running on all members simultaneously).
🚧

Warning

Plugins that create, modify, or delete artifacts in Federated repositories generate Federation events. Poorly designed plugins can cause event storms or circular replication loops. Test plugins thoroughly in a non-production Federation before deploying to production.

Frequently Asked Questions

This section provides answers to frequently asked questions.

plusFAQs
Q: Are user plugins synchronized across Federation members?

A: No. User plugins execute locally on each member and aren't synchronized or distributed automatically. See Federation Considerations for details.

Q: Are user plugins supported on JFrog SaaS?

A: No. User plugins are available only on self-managed Artifactory instances.

Q: How do I reload a plugin after editing it?

A: Click Reload Plugins in the Platform UI, or send a POST request to the Reload Plugins REST API.

Q: Can a plugin cause a Federation event storm?

A: Yes. Plugins that modify artifacts can generate circular Federation events. Test plugins thoroughly in a non-production Federation before deploying them.

Related Topics


Did this page help you?