Both Workers and User Plugins are automated mechanisms triggered by events that you can define.
The following table describes the differences between Workers and User Plugins:
Feature | Workers | |
---|---|---|
Purpose | Extend JFrog Platform functionality via a built-in serverless execution environment. You can create Workers that are triggered when events occur in the JFrog Platform. Workers offer an alternative to Artifactory user plugins, enabling you to extend the JFrog Platform using cloud-native, scalable, and secure solutions. | Customize and extend Artifactory's features. Essentially, they provide a flexible way to tailor Artifactory to your specific workflows and requirements. |
Language | TypeScript | Groovy |
Triggering Mechanism | Event-driven/task-based execution | Lifecycle events |
Complexity | Generally easier to set up for automation tasks | More complex that requires coding and understanding of APIs |
Integration | Seamless integration with CI/CD tools | Interfaces directly with core features |
Execution Context | Runs in isolated task context | Can modify behavior at any stage of the lifecycle |
Scalability | Scalable based on task needs | Typically runs in the context of artifact management tasks |
Error Handling | Built-in error handling and logging | Custom error handling as defined by the plugin |
Use Cases | Scheduling tasks, event handling, automation in CI/CD | Implementing custom policies, artifact validation, complex workflows |
Access Control | Fine-grained permissions can be applied to workers | Customizable using the plugin logic |
Development Effort | Lower development effort - more user-friendly | Higher development effort - more flexible and powerful |