Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions atlassian/bitbucket/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import logging

from deprecated import deprecated
from requests import HTTPError

from .base import BitbucketBase
from atlassian.bitbucket.cloud import Cloud
Expand Down Expand Up @@ -680,6 +681,22 @@ def get_repo(self, project_key, repository_slug):
url = self._url_repo(project_key, repository_slug)
return self.get(url)

def repo_exists(self, project_key, repository_slug):
"""
Check if given combination of project and repository exists and available.
:param project_key: Key of the project where to check for repository.
:param repository_slug: url-compatible repository identifier to look for.
:return: False is requested repository doesn't exist in the project or not accessible to the requestor
"""
exists = False
try:
self.get_repo(project_key, repository_slug)
exists = True
except HTTPError as e:
if e.response.status_code in (401, 404):
pass
return exists

def update_repo(self, project_key, repository_slug, **params):
"""
Update a repository in a project. This operates based on slug not name which may
Expand Down