title: Jenkins Job Builder: Project Level Variables
body: <p>Within JJB, you can define project-level variables like this:</p>
  
  <pre><code>- defaults:
      name: global
      git_url: "git@....."
  
  - project
      name: some-test
      jobs:
        - test-{name}
  
  - job-template
      name: test-{name}
      scm:
        - git:
            url: "{git_url}"
            branches:
              - master
  </code></pre>
  
  <p>My question, must I hardcode the value of git_url at the default level or can I use some JJB mechanism to bring that in at job load/execution?</p>
  
  <p>The reason I ask is that the yaml script that contains these JJB jobs can be used to define TEST, QA and PROD.  It would be nice to just point at a properties file that contains the value for git_url and any other global variable values. I took a look at: <a href="http://docs.openstack.org/infra/jenkins-job-builder/definition.html?highlight=default#defaults" rel="nofollow">http://docs.openstack.org/infra/jenkins-job-builder/definition.html?highlight=default#defaults</a> and I did not see any mechanism.</p>