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 vcsProj.conf.xml.
<servers> <#list properties.get("vcs.rootUrl") as vcsUrl> <#list security.getCurrentUserGroupNames() as groupName> <vcs>${vcsUrl}/<#if groupName == "dev-product1">product1<#elseif groupName == "dev-product2">product2<#else>global</#if></vcs> </#list> </#list> </servers>
If, for example, the value of 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:
<servers> <vcs> http://vcs.company.com/product2 </vcs> </servers>