Hi,

This is the way to update user access using groovy scrip:

import hudson.model.*
import jenkins.security.*
  import hudson.security.*
 
  
// For each project
for(item in Hudson.instance.items) {
  if(item.name.equalsIgnoreCase("AuthenticationChecker_SE"))
  {
    println(item.name)
 
 println("Current USer "+User.current());     
  
      def authorizationMatrixProperty = 
item.getProperty(AuthorizationMatrixProperty.class)
  
   User  user=  User.current();
    String sID=  user.getId() ;
      authorizationMatrixProperty?.add(hudson.model.Item.CANCEL,sID)
       authorizationMatrixProperty?.add(Item.WORKSPACE,sID); 
       authorizationMatrixProperty?.add(Item.BUILD,sID); 
       authorizationMatrixProperty?.add(Run.DELETE,sID); 
       authorizationMatrixProperty?.add(Run.UPDATE,sID); 
       authorizationMatrixProperty?.add(Item.CONFIGURE,sID); 
       authorizationMatrixProperty?.add(Item.DELETE,sID); 
      authorizationMatrixProperty?.add(Item.READ,sID); 
    
      item.addProperty( authorizationMatrixProperty ) 
      item.save() 
    
    
  }
}

Thanks and best regards,
Achala M. Rathnathilaka
Java software Enginner,
Sri Lanka.

On Tuesday, 12 July 2011 17:32:32 UTC+5:30, RainerW wrote:

> I using a Jenkin s1.409.1 and try to change the Security Settings for 
> a bunch of projects via an groovy script [SCRIPT]. 
>
> The script runs on the Master ( via "Manage Jenkins"\"Script 
> Console" ). All matching projects seemed to have beed modified : E.g. 
> the Job configuration dialog shows the changed Authorization Matrix, 
> and the %JOB%/config.xml file is updated. 
>
> Only Jenkins doesn't seem to get it. The "build" user (The one now 
> should have rights) still isn't seeing the project. I can relogin, 
> reload / restart Jenkins (Winstone), nothing changes. 
>
> When i just press the save button in the job configuration ... magic 
> happens. Now the the security has been updated, the build user can see 
> the project immediately. 
>
> So what did i miss? Which magic does the save Button, which i'm not 
> doing? 
>
> Cheers Rainer 
>
> SCRIPT: 
>
> import hudson.security.* 
> import hudson.model.* 
> items = hudson.model.Hudson.instance.items; 
> for (job in items) { 
>    if (job.name.matches("INTER.*")) { 
>      println("JOB: " + job) 
>      props = job.properties; 
>      a = new AuthorizationMatrixProperty(); 
>      // QA group, 're-add' coz there is only one property for all 
> users 
>      user = "qa" 
>      a.add(Item.WORKSPACE,user); 
>      a.add(Item.BUILD,user); 
>      a.add(Run.DELETE,user); 
>      a.add(Run.UPDATE,user); 
>      a.add(Item.CONFIGURE,user); 
>      a.add(Item.DELETE,user); 
>      a.add(Item.READ,user); 
>      // Build User 
>      user = "build" 
>      a.add(Item.WORKSPACE,user); 
>      a.add(Item.BUILD,user); 
>      // a.add(Run.DELETE,user); 
>      a.add(Run.UPDATE,user); 
>      a.add(Item.CONFIGURE,user); 
>      a.add(Item.DELETE,user); 
>      a.add(Item.READ,user); 
>      // save it 
>      job.addProperty( a ) 
>      job.save() 
>    } 
> } 
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/b09a309b-9503-42c3-9cc5-78ff52161b57%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to