![如何在 Java 中访问 OptionValue 插件配置值](https://linux22.com/image/746550/%E5%A6%82%E4%BD%95%E5%9C%A8%20Java%20%E4%B8%AD%E8%AE%BF%E9%97%AE%20OptionValue%20%E6%8F%92%E4%BB%B6%E9%85%8D%E7%BD%AE%E5%80%BC.png)
https://docs.rundeck.com/docs/developer/12-option-values-plugins.html#configuring说
要配置您的插件,您可以将配置值添加到框架或项目范围。
framework.properties 中的框架范围属性定义
framework.plugin.OptionValues.[你的插件名称].[属性]=值
project.properties 中的项目范围属性定义
项目.插件.OptionValues.[你的插件名称].[属性]=值
我添加了一个项目属性,希望可以在配置中的某个位置找到它。例如,如果 project.properties 中的键可用,则此代码应将它们创建为选项:
@Override
public List<OptionValue> getOptionValues(Map config) {
List<OptionValue> optionValues = new ArrayList<OptionValue>();
Iterator keys = config.keySet().iterator();
while (keys.hasNext()) {
String key = keys.next().toString();
optionValues.add(new StringOptionValue(key, key));
}
optionValues.add(new StringOptionValue("stub", "stub'));
return optionValues;
}
我的项目属性看起来像
project.disable.executions=false
project.disable.schedule=false
project.execution.history.cleanup.batch=500
project.execution.history.cleanup.enabled=false
project.execution.history.cleanup.retention.days=60
project.execution.history.cleanup.retention.minimum=50
project.execution.history.cleanup.schedule=0 0 0 1/1 * ? *
project.jobs.gui.groupExpandLevel=1
project.name=Nodeless
project.output.allowUnsanitized=false
project.plugin.OptionValues.MyOptionProvider.endpoint=https\://example.com/rest
project.ssh-authentication=privateKey
project.ssh-command-timeout=0
project.ssh-connect-timeout=0
project.ssh-keypath=/home/me/.ssh/id_rsa
resources.source.1.type=local
service.FileCopier.default.provider=jsch-scp
service.NodeExecutor.default.provider=jsch-ssh
如何访问插件配置?
答案1
简单的答案是使用插件注释:
@PluginProperty(title = "Web service endpoint", description = "Server URL and path", required = true, scope=PropertyScope.Project)
private String endpoint;