except:
log.info("Not found {}".format(access_str))
exit(1)
- log.info("found {}".format(access_str))
+ log.info("found {} {}".format(access_str, mylist))
return result
def add_git_review(self, fqdn, gerrit_project, issue_id, **kwargs):
result = self.submit_change(fqdn, gerrit_project, changeid, payload)
log.info(result)
+ def create_saml_group(self, fqdn, ldap_group, **kwargs):
+ """Create saml group from ldap group."""
+ ###############################################################
+ payload = json.dumps({"visible_to_all": "false"})
+ saml_group = "saml/{}".format(ldap_group)
+ saml_group_encoded = urllib.parse.quote(saml_group, safe="", encoding=None, errors=None)
+ access_str = "groups/{}".format(saml_group_encoded)
+ log.info("Encoded SAML group name: {}".format(saml_group_encoded))
+ result = self.put(access_str, data=payload)
+ return result
+
def add_github_rights(self, fqdn, gerrit_project, **kwargs):
"""Grant github read to a project."""
###############################################################
"""Create a project via the gerrit API.
Creates a gerrit project.
- Sets ldap group as owner.
+ Converts ldap group to saml group and sets as owner.
Example:
log.info("Project not found.")
projectexists = False
+ elif result.status_code == 401:
+ log.info(result)
+ log.info("Unauthorized.")
+ exit(1)
+
else:
log.info("found {}".format(access_str))
+ log.info(result)
projectexists = True
if projectexists:
if check:
exit(0)
- ldapgroup = "ldap:cn={},ou=Groups,dc=freestandards,dc=org".format(ldap_group)
- log.info(ldapgroup)
+ saml_group = "saml/{}".format(ldap_group)
+ log.info("SAML group name: {}".format(saml_group))
access_str = "projects/{}".format(gerrit_project)
payload = json.dumps(
"description": "{}".format(description),
"submit_type": "INHERIT",
"create_empty_commit": "True",
- "owners": ["{}".format(ldapgroup)],
+ "owners": ["{}".format(saml_group)],
}
)
log.info(pformat(data))
+@click.command(name="create-saml-group")
+@click.argument("gerrit_fqdn")
+@click.argument("ldap_group")
+@click.pass_context
+def create_saml_group(ctx, gerrit_fqdn, ldap_group):
+ """Create saml group based on ldap group."""
+ g = gerrit.Gerrit(fqdn=gerrit_fqdn)
+ data = g.create_saml_group(gerrit_fqdn, ldap_group)
+ log.info(pformat(data))
+
+
@click.command(name="list-project-permissions")
@click.argument("gerrit_fqdn")
@click.argument("project")
gerrit_cli.add_command(addgithubrights)
gerrit_cli.add_command(createproject)
gerrit_cli.add_command(abandonchanges)
+gerrit_cli.add_command(create_saml_group)
gerrit_cli.add_command(list_project_permissions)
gerrit_cli.add_command(list_project_inherits_from)