<build>
<plugins>
<plugin>
<groupId>io.jenkins.plugins</groupId>
<artifactId>config-as-code</artifactId>
<version>1.37</version>
<dependencies>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>configuration-as-code</artifactId>
<version>1.57</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<phase>generate-sources</phase>
</execution>
</executions>
<configuration>
<outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
<configFiles>
<configFile>configs/config.yml</configFile>
</configFiles>
</configuration>
</plugin>
</plugins>
</build>
yaml
jenkins:
securityRealm:
local:
allowSignup: false
users:
- id: "admin"
password: "admin123"
public class JenkinsConfig {
private SecurityRealm securityRealm;
public SecurityRealm getSecurityRealm() {
return securityRealm;
}
public void setSecurityRealm(SecurityRealm securityRealm) {
this.securityRealm = securityRealm;
}
public static class SecurityRealm {
private LocalSecurityRealm local;
public LocalSecurityRealm getLocal() {
return local;
}
public void setLocal(LocalSecurityRealm local) {
this.local = local;
}
}
public static class LocalSecurityRealm {
private boolean allowSignup;
private List<User> users;
public boolean isAllowSignup() {
return allowSignup;
}
public void setAllowSignup(boolean allowSignup) {
this.allowSignup = allowSignup;
}
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
}
public static class User {
private String id;
private String password;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
}
import io.jenkins.plugins.casc.ConfigurationAsCode;
import io.jenkins.plugins.casc.JenkinsConfig;
public class MyApp {
public static void main(String[] args) {
ConfigurationAsCode.get().configure();
JenkinsConfig config = ConfigurationAsCode.get().get(JenkinsConfig.class);
boolean allowSignup = config.getSecurityRealm().getLocal().isAllowSignup();
List<User> users = config.getSecurityRealm().getLocal().getUsers();
}
}