fix workflow incorrectly failed (#1312)

This commit is contained in:
LawyZheng 2024-12-03 17:05:25 +08:00 committed by GitHub
parent a206f51cb1
commit 862508e0bc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -6,6 +6,7 @@ import structlog
from skyvern.exceptions import BitwardenBaseError, WorkflowRunContextNotInitialized
from skyvern.forge.sdk.api.aws import AsyncAWSClient
from skyvern.forge.sdk.models import Organization
from skyvern.forge.sdk.schemas.tasks import TaskStatus
from skyvern.forge.sdk.services.bitwarden import BitwardenConstants, BitwardenService
from skyvern.forge.sdk.workflow.exceptions import OutputParameterKeyCollisionError
from skyvern.forge.sdk.workflow.models.parameter import (
@ -374,6 +375,14 @@ class WorkflowRunContext:
and isinstance(parameter.source, OutputParameter)
and parameter.source.key == output_parameter.key
):
# If task isn't completed, we should skip setting the value
if (
isinstance(value, dict)
and "extracted_information" in value
and "status" in value
and value["status"] != TaskStatus.completed
):
continue
if isinstance(value, dict) and "errors" in value and value["errors"]:
# Is this the correct way to handle errors from task blocks?
LOG.error(