ARTIFACTORY: Installing User Plugins for SaaS instances

Omer Borshan
2022-04-11 07:32

Installing User Plugins in Artifactory SaaS:

As an Enterprise Artifactory Cloud user, you may choose to install JFrog approved user plugins in your Artifactory instance. Supported user plugins can be found HERE.
When requesting JFrog Support to install a supported plugin, it is recommended to share the relevant information with us, as some user plugins require a specific configuration file relevant to your Artifactory environment. Please see the example below for more information.

User plugin install example

In this example, we will go through the steps of installing the artifactCleanup user plugin.
The artifactCleanup user plugin has a configuration file called artifactCleanup.json, this file contains specific values and variables specific to your Artifactory instance.  
To install artifactCleanup, please attach artifactCleanup.json file to your email/ticket with your required configuration. 

artifactCleanup.json content example

{
    "policies": [
        {
            "cron": "0 0 16 ? * SUN",
            "repos": [
                "libs-releases-local"
            ],
            "timeUnit": "month",
            "timeInterval": 1
        }
    ]
}

The JSON contains the policies for scheduling cleanup jobs for different repositories.
You may use this link to generate your own Cron Expression. (Quartz Cron)
 
Once the plugin is installed by JFrog Support, to execute the plugin use the following REST API:curl -X POST -Lvvv -uadmin "https://servername.jfrog.io/artifactory/api/plugins/execute/cleanup"
Furthermore, in case you would like to add additional parameters during the execution (overwriting the current artifactCleanup.json just for this specific execution), you may pass it as follows:curl -X POST -Lvvv -uadmin "https://servername.jfrog.io/artifactory/api/plugins/execute/cleanup?params=timeUnit=month;timeInterval=15;repos=local-cleanup-plugin;dryRun=false;disablePropertiesSupport=true"
Please note that each plugin may have different requirements. Some user plugins require a configuration file, other plugins do not. As noted above plugins that do require configuration will need to be shared with JFrog Support.