Source code for api4jenkins.user

# encoding: utf-8
from collections import namedtuple

from .item import Item
from .mix import DeletionMixIn, DescriptionMixIn


[docs]class Users(Item): tree = 'users[user[id,absoluteUrl,fullName]]' def __iter__(self): for user in self.api_json(depth=2, tree=self.tree)['users']: yield User(self.jenkins, user['user']['absoluteUrl'])
[docs] def get(self, id=None, full_name=None): for user in self.api_json(depth=2, tree=self.tree)['users']: if id == user['user']['id'] or full_name == user['user']['fullName']: return User(self.jenkins, user['user']['absoluteUrl']) return None
ApiToken = namedtuple('ApiToken', ['name', 'uuid', 'value'])
[docs]class User(Item, DeletionMixIn, DescriptionMixIn):
[docs] def generate_token(self, name=''): entry = 'descriptorByName/jenkins.security.' \ 'ApiTokenProperty/generateNewToken' data = self.handle_req('POST', entry, params={'newTokenName': name}).json()['data'] return ApiToken(data['tokenName'], data['tokenUuid'], data['tokenValue'])
[docs] def revoke_token(self, uuid): entry = 'descriptorByName/jenkins.security.' \ 'ApiTokenProperty/revoke' return self.handle_req('POST', entry, params={'tokenUuid': uuid})