Marking an Artifact as a Filtered Resource
Any artifact can be specified as filtered by selecting it in the Artifact Repository Browser and setting the Filtered checkbox in the General tab.
You must have Annotate permissions on the selected artifact in order to specify it as
Artifactory provides the following environment variables for the FreeMarker template:
- "properties" (
org.artifactory.md.Properties) - Contains the properties of the requested artifact and any matrix params included in the request; when a clash of properties with identical keys occurs, the former takes precedence
- "request" (
org.artifactory.request.Request) - The current request that was sent for the artifact
- "security" (
org.artifactory.security.Security) - Artifactory's current security object
Provisioning Build Tool Settings
When logged-in as an admin user, you can provision your user-generated settings for the various build tools (Maven, Gradle and Ivy) using the Filtered Resources features.
To provision user-generated settings:
- From the Application module, go to Artifactory | Artifacts and select a Maven, Gradle or Ivy package and click Set Me Up to display the settings generator.
- Select your build tool, set the appropriate repositories and click Generate Settings.
- Download the generated settings and edit them as required.
- Back in the Artifact Repository Browser, click Deploy.
- In the Deploy dialog, set your Target Repository, upload your settings file and set your Target Path.
- Click Deploy to deploy your settings.
The following example demonstrates provisioning a different resource based on the current user group and a property on the requested artifact.
In this example, the artifact
vcsProj.conf.xml has a property
vcs.rootUrl which holds the root URL for the version control system. Depending on the user group a different project version control URL is returned.
For the template of
If, for example, the value of the the
vcs.rootUrl property on the
vcsProj.conf.xml artifact is http://vcs.company.com and the file is downloaded by a developer belonging to the
dev-product2 group, then the returned content is: