c0866c56b9
Due to the fact how dispatching works the 'authorization' property handler was not always invoked through Properties.gen_xml(), leading to a bug and an invalid test case: project-with-auth-properties.(yaml/xml) This change pushes the logic for determining if the object is a folder/multi-branch project from Properties.gen_xml() to the authorization() function itself. For that to work the authorization() function needed access to the top-level job object, which is now conditionally passed to each dispatched function as a keyword argument, if the function takes 'job_data' argument. Note that taking this argument is completely optional so no changes were required in other handlers. In the future the same approach could be taken to eliminate the hacks for 'uno-choice' in Parameters.gen_xml(). Additionally ModuleRegistry.dispatch() now merges the top-level job object with any template data before deep-formatting, so that job-level properties are now available in Jinja templates. A very nice use case is in project-with-auth-j2-yaml.yaml test case. Change-Id: I9a49de74055cd9acfdc87dbad1fc454548643e8f
29 lines
1.2 KiB
XML
29 lines
1.2 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<project>
|
|
<actions/>
|
|
<description><!-- Managed by Jenkins Job Builder --></description>
|
|
<keepDependencies>false</keepDependencies>
|
|
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
|
|
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
|
|
<concurrentBuild>false</concurrentBuild>
|
|
<canRoam>true</canRoam>
|
|
<properties>
|
|
<hudson.security.AuthorizationMatrixProperty>
|
|
<inheritanceStrategy class="org.jenkinsci.plugins.matrixauth.inheritance.InheritParentStrategy"/>
|
|
<permission>hudson.model.Item.Build:john</permission>
|
|
<permission>hudson.model.Item.Cancel:john</permission>
|
|
<permission>hudson.model.Item.Read:john</permission>
|
|
<permission>hudson.model.Item.Build:megan</permission>
|
|
<permission>hudson.model.Item.Cancel:megan</permission>
|
|
<permission>hudson.model.Item.Read:megan</permission>
|
|
<permission>hudson.model.Item.Build:steve</permission>
|
|
<permission>hudson.model.Item.Cancel:steve</permission>
|
|
<permission>hudson.model.Item.Read:steve</permission>
|
|
</hudson.security.AuthorizationMatrixProperty>
|
|
</properties>
|
|
<scm class="hudson.scm.NullSCM"/>
|
|
<builders/>
|
|
<publishers/>
|
|
<buildWrappers/>
|
|
</project>
|