@@ -533,7 +533,7 @@ def get_repo(self, project_key, repository_slug):
533533 def get_repo_labels (self , project_key , repository_slug ):
534534 """
535535 Get labels for a specific repository from a project. This operates based on slug not name which may
536- be confusing to some users.
536+ be confusing to some users. (BitBucket Server only)
537537 :param project_key: Key of the project you wish to look in.
538538 :param repository_slug: url-compatible repository identifier
539539 :return: Dictionary of request response
@@ -544,6 +544,22 @@ def get_repo_labels(self, project_key, repository_slug):
544544 .format (project = project_key , repository = repository_slug )
545545 return self .get (url )
546546
547+ def set_repo_label (self , project_key , repository_slug , label_name ):
548+ """
549+ Sets a label on a repository. (BitBucket Server only)
550+ The authenticated user must have REPO_ADMIN permission for the specified repository to call this resource.
551+ :param project_key: Key of the project you wish to look in.
552+ :param repository_slug: url-compatible repository identifier
553+ :param label_name: label name to apply
554+ :return:
555+ """
556+ data = {'name' : label_name }
557+ if self .cloud :
558+ raise Exception ("Not supported in Bitbucket Cloud" )
559+ url = 'rest/api/1.0/projects/{project}/repos/{repository}/labels' \
560+ .format (project = project_key , repository = repository_slug )
561+ return self .post (url , data = data )
562+
547563 def repo_all_list (self , project_key ):
548564 """
549565 Get all repositories list from project
0 commit comments