0

https://docs.rundeck.com/docs/developer/12-option-values-plugins.html#configuring says

To configure your plugin you can add configuration values to either the framework or project scope.

Framework scope property definition in framework.properties

framework.plugin.OptionValues.[your_plugin_name].[property]=value

Project scope property definition in project.properties

project.plugin.OptionValues.[your_plugin_name].[property]=value

I have added a project property which I would expect to find someplace in config. For instance, if the keys from project.properties were available, this code should create them as options:

@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;
}

My project properties looks like

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

How do I access the plugn configuration?

1 Answers1

0

Simple answer is to use Plugin Annotations:

@PluginProperty(title = "Web service endpoint", description = "Server URL and path", required = true, scope=PropertyScope.Project)
private String endpoint;