API python from Jenkins Plugin - Role Strategy Plugin - https://github.com/jenkinsci/role-strategy-plugin
This API allow to manage Role from Role Strategy Plugin
Author: Le Gall Guillaume <glegall13@gmail.com>
Date: 09/2017 | Based: python3
This API python allow to :
-
Create Role Role is (globalRoles, projectRoles, slaveRoles)
-
Delete Role
-
Assign User/Group to Role
-
Unassign User/Group to Role
-
Unassign All User/Group to Role
-
Unassign User/Group from All Roles
-
Get All User/Group from Role
-
Custom permission easy to make
Todo:
-
setup.py Most Important -
Get Role (know his permissions), Role Strategy Plugin to modify
-
maybe your request
$ pip install .
or
$ python3 setup.py install
Example:
from pyjars import RoleStrategy, permission, Role
rs = RoleStrategy('https://127.0.0.1:8080', 'admin', 'azerty123', ssl_verify=True, ssl_cert=None)
new_role = Role(rs, 'globalRoles', 'builder')
agentPerm = permission.AgentPermission()
agentPerm.Build = True
jobPerm = permission.JobPermission()
jobPerm.Build = True
new_role.add_permission([jobPerm, agentPerm])
response = new_role.create(pattern=None)
if response.status_code == 200:
print('created successfully')
else:
print('Failed create role')
Example:
from pyjars import RoleStrategy, Role
rs = RoleStrategy('https://127.0.0.1:8080', 'admin', 'azerty123', ssl_verify=True, ssl_cert=None)
builder_role = Role(rs, 'globalRoles', 'builder')
response = builder_role.delete()
if response.status_code == 200:
print('deleted successfully')
else:
print('Failed delete role')
Example:
from pyjars import RoleStrategy, Role
rs = RoleStrategy('https://127.0.0.1:8080', 'admin', 'azerty123', ssl_verify=True, ssl_cert=None)
builder_role = Role(rs, 'globalRoles', 'builder')
response = builder_role.assign_sid('username_or_group')
if response.status_code == 200:
print('Assign successfully')
else:
print('Failed assign role')
Example:
from pyjars import RoleStrategy, Role
rs = RoleStrategy('https://127.0.0.1:8080', 'admin', 'azerty123', ssl_verify=True, ssl_cert=None)
builder_role = Role(rs, 'globalRoles', 'builder')
response = builder_role.unassign_sid('username_or_group')
if response.status_code == 200:
print('Unassign successfully')
else:
print('Failed unassign role')
Example:
from pyjars import RoleStrategy, Role
rs = RoleStrategy('https://127.0.0.1:8080', 'admin', 'azerty123', ssl_verify=True, ssl_cert=None)
builder_role = Role(rs, 'globalRoles', 'builder')
response = builder_role.unassign_all()
if response.status_code == 200:
print('Unassign all user/group successfully')
else:
print('Failed unassign all user/group role')
Example:
from pyjars import RoleStrategy, Role
rs = RoleStrategy('https://127.0.0.1:8080', 'admin', 'azerty123', ssl_verify=True, ssl_cert=None)
builder_role = Role(rs, 'globalRoles', 'builder')
members = builder_role.list_sid()
if members:
print('list of members is:', members)
else:
print('There are no members')
Agent Permission: AgentPermission()
- Create
- Build
- Configure
- Connect
- Delete
- Disconnect
- Provision
Job Permission: JobPermission()
- Build
- Cancel
- Configure
- Create
- Delete
- Discover
- Move
- Read
- Workspace
Run Permission: RunPermission()
- Artifacts
- Delete
- Replay
- Update
View Permission: ViewPermission()
- Configure
- Create
- Delete
- Read
Scm Permission: ScmPermission()
- Tag
Credential Permission: CredentialPermission()
- Create
- Delete
- ManageDomains
- Update
- View
Overall Permission: OverallPermission()
- Administer
- Read
overPerm = OverallPermission()
overPerm.Administer = True
overPerm.attributes
#---------Result-------
{
'Administer': True,
'Read': False
}
#---------Result-------
overPerm.get_true_permission()
#---------Result-------
['hudson.model.Hudson.Administer']
#---------Result-------
overPerm.get_false_permission()
#---------Result-------
['hudson.model.Hudson.Read']
#---------Result-------