diff --git a/pull_request_codecommit/aws/client.py b/pull_request_codecommit/aws/client.py index 7f62a7d..0ee1fbf 100644 --- a/pull_request_codecommit/aws/client.py +++ b/pull_request_codecommit/aws/client.py @@ -119,7 +119,9 @@ def update_pull_request( return data.get("pullRequest") - def merge_pull_request(self, repository: str, pull_request_id: int) -> dict: + def merge_pull_request( + self, repository: str, pull_request_id: int, branch: str + ) -> dict: response = self.__execute( [ "codecommit", @@ -131,5 +133,18 @@ def merge_pull_request(self, repository: str, pull_request_id: int) -> dict: ] ) data = json.loads(response) - - return data.get("pullRequest") + pull_request = data.get("pullRequest") + + if pull_request.get("pullRequestStatus", "") == "CLOSED": + self.__execute( + [ + "codecommit", + "delete-branch", + "--repository-name", + repository, + "--branch-name", + branch, + ] + ) + + return pull_request diff --git a/pull_request_codecommit/pull_request_codecommit.py b/pull_request_codecommit/pull_request_codecommit.py index f473301..79a8e76 100644 --- a/pull_request_codecommit/pull_request_codecommit.py +++ b/pull_request_codecommit/pull_request_codecommit.py @@ -65,6 +65,7 @@ def merge(self) -> str: response = self.__client.merge_pull_request( repository=self.__repo.remote.name, pull_request_id=self.pull_request_id, + branch=self.__repo.branch, ) status = response.get("pullRequestStatus", "")