Pau*_*l H 5 java jenkins jenkins-plugins
我正在开发一个新的Jenkins插件,该插件将在Jenkins作业的构建阶段执行,并且要求允许用户在插件的作业配置中指定变量名(与文字值相反)。目的是,当作业执行用户指定的变量名时,该变量名将被与该变量关联的实际值替换,并且插件将在运行perform方法时使用该实际值。
例如,如果MY_VARIABLE
具有该值的变量myValue
是由另一部分作业注入到构建环境中的,并且该值${MY_VARIABLE}
是在作业配置中为我的插件指定的,那么我希望插件${MY_VARIABLE}
用的真实值代替变量myValue
。
做完一些研究后,我了解到Jenkins不会自动将作业配置中的变量替换为其各自的值,这必须由插件处理。我无法解决的是在插件中执行替换的最佳方法。到目前为止,我发现的唯一解决方案是解析从作业配置传递的字符串,以查看它是否与变量的正确模式匹配,然后在我的代码中查找值。
我的问题是,Jenkins API是否提供了更好的解决方案,该解决方案允许我的插件将变量替换为真实值?
您可以检索构建环境 \xe2\x80\x94EnvVars
对象 \xe2\x80\x94 ,它有一个方便的方法expand(String)
。
这承认$VARIABLE
并${VARIABLE}
字符串并替换环境中的相应值。
例如:
\n\n@Override\npublic boolean perform(AbstractBuild build, Launcher launcher,\n BuildListener listener) throws IOException, InterruptedException {\n ...\n final EnvVars env = build.getEnvironment(listener);\n String expandedDbUrl = env.expand(dbUrl);\n ...\n}\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
4472 次 |
最近记录: |