Skip to content

Commit a28f2a3

Browse files
authored
Bitbucket: Feature/Update Repo command (atlassian-api#643)
* Add update repo command * Update docs and doc string * Remove get call in update_repo * Update docs on update_repo to match behaviour * Update `update_project` method to not get The GET is not required as the PUT behaves like a PATCH request with the Bitbucket REST API * Make black happy
1 parent 40c70ad commit a28f2a3

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

atlassian/bitbucket/__init__.py

+14-10
Original file line numberDiff line numberDiff line change
@@ -299,17 +299,10 @@ def update_project(self, key, **params):
299299
"""
300300
Update project
301301
:param key: The project key
302-
303-
:return: None if the project does not exist, else the value of the put request.
302+
:return: The value of the put request.
304303
"""
305-
data = self.project(key)
306-
if "errors" in data:
307-
log.debug("Failed to update project: {0}: Unable to read project".format(key))
308-
return None
309-
else:
310-
data.update(params)
311-
url = self._url_project(key)
312-
return self.put(url, data=data)
304+
url = self._url_project(key)
305+
return self.put(url, data=params)
313306

314307
def _url_project_avatar(self, project_key):
315308
return "{}/avatar.png".format(self._url_project(project_key))
@@ -680,6 +673,17 @@ def get_repo(self, project_key, repository_slug):
680673
url = self._url_repo(project_key, repository_slug)
681674
return self.get(url)
682675

676+
def update_repo(self, project_key, repository_slug, **params):
677+
"""
678+
Update a repository in a project. This operates based on slug not name which may
679+
be confusing to some users.
680+
:param project_key: Key of the project you wish to look in.
681+
:param repository_slug: url-compatible repository identifier
682+
:return: The value of the put request.
683+
"""
684+
url = self._url_repo(project_key, repository_slug)
685+
return self.put(url, data=params)
686+
683687
def delete_repo(self, project_key, repository_slug):
684688
"""
685689
Delete a specific repository from a project. This operates based on slug not name which may

docs/bitbucket.rst

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ Manage repositories
4747
# Get single repository
4848
bitbucket.get_repo(project_key, repository_slug)
4949
50+
# Update single repository
51+
bitbucket.update_repo(project_key, repository_slug, description="Repo description")
52+
5053
# Get labels for a single repository
5154
bitbucket.get_repo_labels(project_key, repository_slug)
5255

0 commit comments

Comments
 (0)