Hi,
macros do not get substitution performed unless you provide a variable to
be substituted in.
Following would trigger the behaviour:
- job-template:
name: '{foo}-test'
builders:
- test_builder:
FOO_BAR: hello
- shell: |
echo ${{FOO_3}}
Definitely a bit confusing, essentially the macro is added in through a
lookup in the register.ModuleRegistry.dispatch() method, where only if the
component is a dict is a substitution performed:
https://github.com/openstack-infra/jenkins-job-builder/blob/4a8b93b8c2d517c8dc27d91437454890cc49a640/jenkins_jobs/registry.py#L149-L168
I wonder if jinja templating would avoid some of the quirks we run into
around using python's string formatting for substitution?
On 13 August 2015 at 07:05, Ian Wienand <iwienand at redhat.com> wrote:
> Hi,
>
> Just trying to get my head around this from [1]:
>
> ---
>
> - builder:
> name: test_builder
> builders:
> - shell: |
> echo ${FOO_1}
> echo ${{FOO_2}}
>
> - job-template:
> name: '{foo}-test'
> builders:
> - test_builder
> - shell: |
> echo ${{FOO_3}}
>
> - project:
> name: 'foo'
> jobs:
> - '{foo}-test':
> foo: bar
>
> ---
>
> that's going to output a job basically
>
> ---
> echo ${FOO_1}
> echo ${{FOO_2}}
> echo ${FOO_3}
> ---
>
> Why do I *not* get a "FOO_1 parameter missing" for test_builder? If I
> do
>
> ---
>
> - test_builder:
> FOO_1: bar
>
> ---
>
> it does actually come out with "echo $bar" as you might expect.
>
> Or the same question in reverse: why *do* I get an error about a
> missing parameter if I have just "${FOO_3}" in the job-template?
>
> I can't find a clear explanation for this, although there might be
> one I'm missing. If I can find one, I'll add it to some sort of
> documentation.
>
> -i
>
> [1] https://review.openstack.org/#/c/212246
>
> _______________________________________________
> OpenStack-Infra mailing list
> OpenStack-Infra at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra
>
--
Darragh Bailey
"Nothing is foolproof to a sufficiently talented fool"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-infra/attachments/20150813/45fdc2b8/attachment.html>