diff --git a/otterdog/webapp/blueprints/__init__.py b/otterdog/webapp/blueprints/__init__.py index a1f288dc..465b9d05 100644 --- a/otterdog/webapp/blueprints/__init__.py +++ b/otterdog/webapp/blueprints/__init__.py @@ -72,6 +72,7 @@ async def evaluate(self, installation_id: int, github_id: str, recheck: bool = F blueprint_status_model = await find_blueprint_status(github_id, repo.name, self.id) if blueprint_status_model is not None and blueprint_status_model.status not in ( BlueprintStatus.NOT_CHECKED, + BlueprintStatus.RECHECK, BlueprintStatus.FAILURE, ): continue diff --git a/otterdog/webapp/db/models.py b/otterdog/webapp/db/models.py index 1d3b661d..4bb3bbc5 100644 --- a/otterdog/webapp/db/models.py +++ b/otterdog/webapp/db/models.py @@ -185,6 +185,7 @@ class BlueprintStatus(str, Enum): FAILURE = "failure" REMEDIATION_PREPARED = "remediation_prepared" DISMISSED = "dismissed" + RECHECK = "recheck" def __str__(self) -> str: return self.name diff --git a/otterdog/webapp/tasks/update_blueprint_status.py b/otterdog/webapp/tasks/update_blueprint_status.py index 3f855f9e..f7aea613 100644 --- a/otterdog/webapp/tasks/update_blueprint_status.py +++ b/otterdog/webapp/tasks/update_blueprint_status.py @@ -56,7 +56,8 @@ async def _execute(self) -> None: blueprint_status.status = BlueprintStatus.REMEDIATION_PREPARED else: if self.pull_request.merged is True: - blueprint_status.status = BlueprintStatus.SUCCESS + blueprint_status.status = BlueprintStatus.RECHECK + blueprint_status.remediation_pr = None elif self.pull_request.merged is False: blueprint_status.status = BlueprintStatus.DISMISSED await self._add_comment_to_pr(blueprint_status.id.blueprint_id)