The following table summarizes the available execution points. For more details about specific plugins, follow the section links.
Plugin Type | Code block name | When executed | Description |
Event Callback (without return value) | beforeUploadRequest | On any upload | Handle before upload request events, executed before Artifactory starts to handle the original client request, useful for overriding the actual repo path during the Artifactory upload process. |
Event Callback (with return values) | altResponse | On any download | Provide an alternative response, by setting a success/error status code value and an optional error message or by setting new values for the inputStream and size context variables (For succeeded resolutions). |
altAllResponses | On any download | Provide an alternative response, by setting response headers, a success/error status code value and an optional error message or by setting new values for the inputStream and size context variables. This applies for GET/HEAD requests, for successful resolutions or Not Modified responses. | |
altRemotePath | When reaching out to remote repositories | Provides an alternative download path under the same remote repository, by setting a new value to the path variable. | |
altRemoteContent | After fetching content from remote repositories | Provide an alternative download content, by setting new values for the inputStream and size context variables. | |
afterDownloadError | After failing during content fetching from remote repositories | Provide an alternative response, by setting a success/error status code value and an optional error message or by setting new values for the inputStream and size context variables (For failed resolutions). | |
Event Callback (without return value) | beforeRemoteDownload | Before fetching content from remote repositories | Handle before remote download events. |
afterRemoteDownload | After fetching content from remote repositories | Handle after remote download events. | |
beforeDownload | On any download | Handle before download events. | |
afterDownload | On any download | Handle after download events. It is triggered after download execution, not download completion. | |
beforeDownloadRequest | On any download | Handle before download request events, executed before Artifactory starts to handle the original client request, useful for intercepting expirable resources (other than the default ones like maven-metadata.xml). LimitationThe repository ID of the actual repository from which the artifact was requested in the callback is unknown in the case of virtual repositories. Therefore, this The callback method does not work with the Docker Virtual repository. | |
Event Callback (without return value) | before/after Create, Delete, Move, Copy, PropertyCreate, PropertyDelete | Before / After selected storage operation | Handle events before and after Create, Delete, Move and Copy operations NoteArtifactory works with transactions. During a transaction, the change may not yet committed to the database. Hence, the previous information may still exist in your database and you may see the outdated information show up after execution in rare cases. |
Scheduled execution | any valid Groovy (Java) literal as execution name | According to provided interval/delay or cron expression | Job runs are controlled by the provided interval or cron expression, which are mutually exclusive. The actual code to run as part of the job should be part of the job's closure. |
User-driven execution | any valid Groovy (Java) literal as execution name | By REST call | External executions are invoked via REST requests. |
Event Callback (without return value) | any valid Groovy (Java) literal as realm name with nested blocks: authenticate userExists | During user authentication | Newly added realms are added before any built-in realms (Artifactory internal realm, LDAP, Crowd etc.). User authentication will be attempted against these realms first, by the order they are defined. NoteArtifactory version 7.71.x or above, add the For more information, refer to the Supported Access Configurations documentation. |
Event Callback (without return value) | beforeSave | Before the build info is saved in Artifactory | Handle before build info save events |
afterSave | After the build info is saved in Artifactory | Handle after build info save events | |
User or build server driven execution | any valid Groovy (Java) literal as promotion name | By REST call | Promotes integration (a.k.a. snapshot) build to be a release invoking any code associated with it. |
build server driven execution | any valid Groovy (Java) literal as staging strategy name. | During build server driven staging build configuration | The strategy provides the build server with the following information:
|
Event callback (with return value) | beforeFileReplication | Before file is replicated | Handle before file replication events. File replication can be skipped. |
beforeDirectoryReplication | Before directory is replicated | Handle before directory replication events. Directory replication can be skipped. | |
beforeDeleteReplication | Before file/directory is deleted | Handle before file or directory are deleted. | |
beforePropertyReplication | Before properties are replicated | Handle properties replication. |