diff --git a/utils/create-repo.py b/utils/create-repo.py new file mode 100755 index 0000000..db041ef --- /dev/null +++ b/utils/create-repo.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 + +from phabricator import Phabricator +import logging, random, namesgenerator + +logging.basicConfig(level=logging.DEBUG) + +phab = Phabricator(host='https://scitassrv18.epfl.ch/api/') +user = phab.user.whoami() +logging.debug('user=%s' % user) + +# Get random project +project = None +while project == None or len(project['data']) == 0: + proj_id = random.randint(1, 1500) + logging.debug('proj_id=%i' % proj_id) + project = phab.project.search( + constraints = {'ids': [proj_id]}, + ) +project = project['data'][0] +logging.debug('project=%s' % project) + +# Create the repository +task = phab.diffusion.repository.edit( + transactions = [ + {'type': 'name', 'value': namesgenerator.get_random_name()}, + {'type': 'vcs', 'value': 'git'}, + {'type': 'status', 'value': 'active'}, + {'type': 'view', 'value': 'users'}, + {'type': 'edit', 'value': 'obj.repository.author'}, + {'type': 'policy.push', 'value': 'obj.repository.author'}, + {'type': 'projects.add', 'value': [project['phid']]}, + ], + ) +logging.debug('task=%s' % task) +