美文网首页
python-gitlab 根据member更新邮件通知列表 E

python-gitlab 根据member更新邮件通知列表 E

作者: 车到山前必有路2021 | 来源:发表于2019-12-16 14:07 被阅读0次

def update_project_emails_onpush_list(git_lab, project_id):

    function_name = '---> %s\n    '%( sys._getframe().f_code.co_name)

    try:

        emails = ''

        project = git_lab.projects.get(project_id)

        if project:

            print function_name, 'find the project [%d]'%project.id

            project_services = project.services

            #print dir(project_services)

            #print project_services

            if project_services:

                print '    service [Emails on push]===>'

                service = project_services.get('emails-on-push')

                attributes = service.attributes

                #properties = attributes['properties']

                properties = service.properties

                members = project.members.all(all=True)

                for member in members:

                    #print member

                    #print dir(member)

                    user = git_lab.users.get(member.id)

                    print '    ', member.id, user.email

                    emails = emails + ' ' + user.email

                service.properties[u'recipients'] = emails

                #service.active = False

                #service.__setattr__('active', service.active)

                service.__setattr__('recipients', service.properties[u'recipients'])

                print '    ---->', service._updated_attrs

                service.save()

            project.save()

    except Exception, err:

        #print err

        print '===> Exception'

        print str(err).decode("string_escape")

    finally:

        #print '===> Finally'

        return emails

相关文章

网友评论

      本文标题:python-gitlab 根据member更新邮件通知列表 E

      本文链接:https://www.haomeiwen.com/subject/vvxdnctx.html