def find_bitbucket_repository(user, password, email): bitbucket = Client( BasicAuthenticator(user, password, email) ) try: print("Finding run project in bitbucket...") repository = Repository.find_repository_by_name_and_owner( repository_name="run", client=bitbucket ) except HTTPError: print("Project not found") print("Creating project run...") repository = Repository.create( payload=RepositoryPayload({ "name": "run", "is_private": True, "fork_policy": RepositoryForkPolicy.NO_FORKS, }), client=bitbucket ) for link in repository.links["clone"]: if link["name"] == "https": return link["href"]
def test_response_is_a_repository(self): httpretty.register_uri(httpretty.POST, self.url, content_type='application/json', body=self.resource_data(), status=200) payload = RepositoryPayload() \ .add_name(self.name) \ .add_fork_policy(self.fork_policy) \ .add_is_private(self.is_private) response = Repository.create(payload, client=self.test_client) assert 'application/json' == \ httpretty.last_request().headers.get('Content-Type') assert isinstance(response, Repository)
def create(self, user, repo, add=False): try: repo = Repository.create( RepositoryPayload(dict( fork_policy=RepositoryForkPolicy.ALLOW_FORKS, is_private=False )), repository_name=repo, owner=user, client=self.bb.client ) if add: self.add(user=user, repo=repo.name, tracking=self.name) except HTTPError as err: if '400' in err.args[0].split(' '): raise ResourceExistsError('Project {} already exists on this account.'.format(repo)) from err raise ResourceError("Couldn't complete creation: {}".format(err)) from err
def create(self, user, repo, add=False): try: repo = Repository.create( RepositoryPayload(dict( fork_policy=RepositoryForkPolicy.ALLOW_FORKS, is_private=False )), repository_name=repo, owner=user, client=self.bb.client ) if add: self.add(user=user, repo=repo.name, tracking=self.name) except HTTPError as err: if '400' in err.args[0].split(' '): raise ResourceExistsError('Project {} already exists on this account.'.format(repo)) from err raise ResourceError("Couldn't complete creation: {}".format(err)) from err
request.get_method = lambda: 'PUT' try: result = urlopen(request).read() except Exception as e: print(repr(e)) break print('Creating remote git repo...') payload = RepositoryPayload() \ .add_scm(RepositoryType.GIT) \ .add_name(str(repo.name)) \ .add_is_private(repo.is_private) \ .add_description(str(repo.description)) \ .add_fork_policy(RepositoryForkPolicy.ALLOW_FORKS) \ .add_language(str(repo.language)) \ .add_has_issues(repo.has_issues) \ .add_has_wiki(repo.has_wiki) repo = Repository.create(payload, repository_name=repo.slug, owner=teamname, client=bitbucket) git_clone_https = '' for clone in repo.links['clone']: if clone['name'] == 'https': git_clone_https = clone['href'] break git_clone_https = git_clone_https.replace('@', ':%s@' % password) time.sleep(2) print('Pushing to remote git repo...') os.popen('cd %s;git remote add origin %s' % (git_clone_dir, git_clone_https)) os.popen('cd %s;git push origin master' % (git_clone_dir))