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
网友评论