Ejemplo n.º 1
0
def main():
    err_count = 0
    jira = JIRA("http://localhost:8080", basic_auth=('pro', 'pro'))

    rest_groups = pickle.load(open("groupBackup.p", "rb"))
    for r_group in rest_groups:
        print("Restore Group Name: "+r_group[0])
        jj = 0
        for col in r_group:
            if jj != 0:
                print("     Name: "+col)
                try:
                    jira.add_user_to_group(col, r_group[0])
                except Exception as e:
                    if "already a member" not in e.text:
                        print("     ERR: "+e.text)
                        err_count = err_count + 1
            jj = jj + 1
    print("Done - no Errors: " + str(err_count))
Ejemplo n.º 2
0
class jira:

    def __init__(self):

        # load admin credentials
        with open(".credentials.json") as credentials:
            self.creds = json.load(credentials)

        # load new user information
        with open(".new_user.json") as new_user:
            self.user = json.load(new_user)
        
        self.JIRA_SERVER = self.creds["jira"]["server"]
        self.JIRA_USERNAME =  self.creds["jira"]["username"]
        self.JIRA_PASSWORD = self.creds["jira"]["password"]
        self.jc = JIRA(server=self.JIRA_SERVER, basic_auth=(self.JIRA_USERNAME, self.JIRA_PASSWORD))

    # add new user to jira (keyprprojects.atlassian.net)
    def add_user(self):

        # contractors do not get confluence access, on an as-needed basis
        if self.user["contractor"].lower() == "f":
            # username, email, directory(?), password, full name, notification, activation
            self.jc.add_user(self.user["email"], self.user["email"], 1, self.user["password"], self.user["fullName"], False, True)
            print("Jira/Confluence: User created - %s" % self.user["email"])

    # set users groups
    def add_group(self):

        # contractors do not get confluence access, on an as-needed basis
        if self.user["contractor"].lower() == "f":
            # Default groups
            # username, group name
            self.jc.add_user_to_group(self.user["email"], "internal-dev")
            self.jc.add_user_to_group(self.user["email"], "confluence-users")
            print("Jira/Confluence: Groups added - internal-dev, jira-users, confluence-users")

    def remove_group(self):
    
        self.jc.remove_user_from_group(self.user["email"], "internal-dev")
        self.jc.remove_user_from_group(self.user["email"], "confluence-users")
        self.jc.remove_user_from_group(self.user["email"], "jira-users")
        print("Jira/Confluence: Removed user from groups [internal-dev, confluence-users, jira-users]")
Ejemplo n.º 3
0
class jira():

    def __init__(self):
        pass

    def auth(self):
        PWD = os.getenv("HOME")
  
        with open("%s/.python_auth_cfg.yml" % PWD, 'r') as auth:

            auth_conf = yaml.load(auth, Loader=yaml.FullLoader)

        jira_conf            = auth_conf['jira']
        jira_admin_user      = jira_conf['admin_user']
        jira_admin_api_token = jira_conf['admin_api_token']
        jira_basic_url       = jira_conf['jira_basic_url']
        
        self.jira_basic_url  = jira_basic_url 
        self.jira_options    = {
                                   'server'        : jira_basic_url,
                                   'max_retries'   : 1
                               } 
        try:
            self._session = JIRA(self.jira_options, basic_auth=(jira_admin_user, jira_admin_api_token))

        except JIRAError and TypeError and KeyError as error:
            print('jira.init.auth <%s>' % error)
            
        return self._session

    def user_invite(self, email):

        self.USERNAME = email.split('@')[0]
       
        try:
            self._session.add_user(self.USERNAME, email, active=True)
        
        except JIRAError as error:
            print('jira.init.user_invite <%s>' % error.text)
   
    def user_delete(self, username):

        try:
            DELETE_USER = self._session.delete_user(username)

        except JIRAError as error:
            print('jira.init.user_delete <%s>' % error.text)

    def user_blocked(self, username):
        DEACTIVATE_USER = self._session.deactivate_user(username)

        try:
            DELETE_USER = self._session.deactivate_user(username)

        except JIRAError and TypeError and KeyError as error:
            print('jira_api_user.init.user_blocked <%s>' % error)

    def user_add_group(self, groupName):

        time.sleep(15)
        with open("config/jira_group_access.yml", 'r') as jira_group_access:
            jira_group_access = yaml.load(jira_group_access, Loader=yaml.FullLoader)

        try:
            group_list = jira_group_access[groupName]

            for group in group_list:
                
                try:
                    self._session.add_user_to_group(self.USERNAME , group)

                except JIRAError and TypeError and KeyError as error:
                    print('jira_api_user.init.user_add_group <%s>' % error)

        except KeyError as error:
            print('init.user_add_group | add default group | Error < groupName: %s is not defined >' % groupName)