It seems that certain directives within a pipelineJob are totally ignored if using the definition directive to read in an external groovy script. At a minimum, it seems label and steps are, and possibly wrappers. For a new user (like me!) this can be frustrating. If a directive is invalid or ignored, there should be some message sent to the seed job's console (minimum) or the seed job should have result set to unstable/failed.