Adding to project based security, and where to store data?

5 views
Skip to first unread message

Michael Carter

unread,
Jul 25, 2020, 11:18:49 AM7/25/20
to Jenkins Developers
Two questions this morning.

Want to add my own options to the:

Michael Carter

unread,
Jul 26, 2020, 8:35:56 AM7/26/20
to Jenkins Developers
Managed to find my own answers.   So posting here for completeness for anyone searching.

Seems to add entries to the security area you just need these somewhere.

import hudson.security.Permission;
import hudson.security.PermissionGroup;
import hudson.security.PermissionScope;
import hudson.Extension;
import jenkins.model.Jenkins;
import org.jenkinsci.Symbol;

@Extension

@Symbol("myPermissions")
public class MyPermissions  {


   
public static final PermissionGroup PERMISSION_GROUP =
           
new PermissionGroup(MyPermissions.class,  
                               
Messages._PermissionGroup_Title());


   
public static final Permission MANUAL_SYNC_PERMISSION =
           
new Permission(PERMISSION_GROUP,
                           
"ManualSync",
                           
Messages._PermissionManualSync_Description(),
                           
Jenkins.ADMINISTER,
                           
PermissionScope.JENKINS);


   
public static final Permission UPLOAD_MAP_PERMISSION =
           
new Permission(PERMISSION_GROUP,
                           
"UploadMap",
                           
Messages._PermissionUploadMap_Description(),
                           
Jenkins.ADMINISTER,
                           
PermissionScope.JENKINS);


}


As for storing arbitrary data, this is doing my trick:


import org.jenkinsci.plugins.database.Database;
import org.jenkinsci.plugins.database.GlobalDatabaseConfiguration;
import org.jenkinsci.plugins.database.BasicDataSource2;
import javax.sql.DataSource;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.SQLException;


...


 
private GlobalDatabaseConfiguration globalDatabaseConfiguration;
 
private Database database;
 
private DataSource datasource;


...


     
this.globalDatabaseConfiguration = GlobalDatabaseConfiguration.get();
     
this.database   = this.globalDatabaseConfiguration.getDatabase();
     
this.datasource = this.database.getDataSource();
     
CreateTables();

Reply all
Reply to author
Forward
0 new messages