feature: when merging environments, promote tag from previous env to next env
This commit is contained in:
@@ -49,14 +49,7 @@ class GitlabRemoteAPI(RemoteAPI):
|
||||
raise GitFlowError("Ocurrió un error al crear el tag: " + response.text)
|
||||
|
||||
def get_merge_commits(self, merge_commit: str) -> list[Commit]:
|
||||
mrs = self.get_json(
|
||||
self.get_endpoint(f"/repository/commits/{merge_commit}/merge_requests")
|
||||
).json()
|
||||
mr = next((m for m in mrs if m.get("merge_commit_sha") == merge_commit), None)
|
||||
|
||||
if not mr:
|
||||
raise GitFlowError(f"No se encontró un MR para el commit {merge_commit}")
|
||||
|
||||
mr = self._get_merge_request(merge_commit)
|
||||
items = self.get_all_pages(self.get_endpoint(f"/merge_requests/{mr['iid']}/commits"), 100)
|
||||
|
||||
# GitLab ya los devuelve del más nuevo al más viejo
|
||||
@@ -70,6 +63,20 @@ class GitlabRemoteAPI(RemoteAPI):
|
||||
for c in items
|
||||
]
|
||||
|
||||
def get_merge_source_branch(self, merge_commit: str) -> str:
|
||||
return self._get_merge_request(merge_commit)["source_branch"]
|
||||
|
||||
def _get_merge_request(self, merge_commit: str) -> dict:
|
||||
mrs = self.get_json(
|
||||
self.get_endpoint(f"/repository/commits/{merge_commit}/merge_requests")
|
||||
).json()
|
||||
mr = next((m for m in mrs if m.get("merge_commit_sha") == merge_commit), None)
|
||||
|
||||
if not mr:
|
||||
raise GitFlowError(f"No se encontró un MR para el commit {merge_commit}")
|
||||
|
||||
return mr
|
||||
|
||||
def list_tags(self, suffix: str = "") -> list[str]:
|
||||
# "search" soporta "$" para anclar al final del nombre
|
||||
params = {"search": suffix + "$"} if suffix else None
|
||||
|
||||
Reference in New Issue
Block a user