如何在 Java 中访问 OptionValue 插件配置值

如何在 Java 中访问 OptionValue 插件配置值

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;

相关内容