AE REST API – Arbeiten mit Workflow-Aufgaben

Sie können die REST-API verwenden, um den Status und einige Eigenschaften von Aufgaben in Workflows zu ändern sowie einige Maßnahmen zu ergreifen, während sie noch ausgeführt werden. Wie bei der Arbeit mit ausgeführten Aufgaben in Workflows von AWI üblich, bestimmt der Status einer Aufgabe die Aktionen, die Sie für diese Aufgabe durchführen können, wenn Sie dies mit der REST-API tun. Weitere Informationen finden Sie unter Verfügbare Funktionen abhängig vom Aufgabenstatus.

Diese Seite beinhaltet Folgendes:

Ignorieren der Sync-Bedingungen für Aufgaben

Anforderung: POST http://{host}:{port}/ae/api/v1/{client}​/executions​/{run_id}​/ignore_sync_condition

Sync-Objekte enthalten Definitionen zu Status, Bedingungen und Aktionen, die kombiniert sind, um die Reihenfolge, in der Aufgaben ausgeführt werden, festzulegen. Aufgaben können sich aufgrund dieser Sync-Definitionen in einem Wartestatus befinden. Sie können eine POST-Anforderung verwenden, um die Bedingungen zu ignorieren, die im Sync-Objekt angegeben wurden, das der Aufgabe zugewiesen ist. Infolgedessen kann die Aufgabe starten.

Beispiel: http://my-jcp-host:8088/ae/api/v1/8001//executions/{run id}/ignore_sync_condition

Antwort: Abhängig vom Status der Aufgabe und der angeforderten runID sind die folgenden Antworten möglich:

  • Wenn der Status der Aufgabe diese Aktion zulässt, ist der resultierende Statuscode 200 OK, und es gibt keine Antwort.

    {
        
    }
  • Wenn die Anforderung eine ungültige runID enthält oder die runID einer Aufgabe entspricht, die in einem anderen Client ausgeführt wird, ist der resultierende Statuscode 404 Not Found, und die Antwort lautet wie folgt:

    {
        "code": 11049,
        "error": ""Cannot find task with RunID('0001141003') for Ignore sync condition!",
        "details": "No detail information available."
    }
  • Wenn die Aufgabe noch nicht aktiv ist, ist der resultierende Statuscode 403 Forbidden, und die Antwort lautet wie folgt:

    {
        "code": 11191,
        "error": "Task with RunID '0001168043' is not active.",
        "details": "No detail information available."
    }

Vorbedingungen für Aufgabe ignorieren

Anforderung: POST http://{host}:{port}/ae/api/v1/{client}​/executions​/{run_id}​/ignore_preconditions

Aufgaben können sich im Status "Warten" befinden, da bestimmte Vorbedingungen für diese Aufgabe definiert sind. Sie können eine POST-Anforderung verwenden, um diese Bedingungen für eine Aufgabe zu ignorieren und zu überspringen. Infolgedessen wird die Ausführung der Aufgabe fortgesetzt.

Beispiel: http://my-jcp-host:8088/ae/api/v1/8001/executions/1000535/ignore_preconditions

Antwort: Abhängig vom Status der Aufgabe und der angeforderten runID sind die folgenden Antworten möglich:

  • Wenn der Status der Aufgabe diese Aktion zulässt, ist der resultierende Statuscode 200 OK, und es gibt keine Antwort.

  • Wenn die Anforderung eine ungültige runID enthält oder die runID einer Aufgabe entspricht, die in einem anderen Client ausgeführt wird, ist der resultierende Statuscode 404 Not Found, und die Antwort lautet wie folgt:

    {
        "code": 11049,
        "error": "Cannot find task with RunID('0001141003') for Ignore precondition!",
        "details": "No detail information available."
    }
  • Wenn die Anforderung eine runID enthält, die nicht gefunden werden konnte oder bereits beendet wurde, ist der resultierende Statuscode 404 Not Found.

    {
        "code": 20591,
        "error": "Runtime error in object 'XSCRIPT' line '00001'. Object with RunID '0001004315' not found.",
        "details": "No detail information available."
    }
  • Wenn die Aufgabe noch nicht aktiv ist, ist der resultierende Statuscode 403 Forbidden, und die Antwort lautet wie folgt:

    {
        "code": 11191,
        "error": "Task with RunID '0001168043' is not active.",
        "details": "No detail information available."
    }
  • Wenn die Aufgabe noch nicht generiert wurde, ist der resultierende Statuscode 403 Forbidden, und die Antwort lautet wie folgt:

    {
        "code": 4000056,
        "error": "Action not possible. Selected task is either not yet generated, or your monitor view needs to be refreshed (press F5).",
        "details": "No detail information available."
    }
  • Wenn der Status der Aufgabe diese Aktion nicht zu lässt, ist der resultierende Statuscode 400 Bad Request, und die Antwort lautet wie folgt:

    {
        "code": 20532,
        "error": "IGNORE_PRE_CONDITIONS not possible for 'SCRI.OBJECT' (RunID '1000535') in state 'ENDED_NOT_OK'.",
        "details": "No detail information available."
    }

Status manuell ändern

Anforderung: POST​/{client_id}​/executions​/{run_id}​/modify_status

Sie können eine POST-Anfrage verwenden, um den Status einer Aufgabe manuell zu ändern.

Wichtig! Das manuelle Ändern eines Status kann sich negativ auf die gesamte Verarbeitung auswirken. Überprüfen Sie die standardmäßigen Methoden zum Ändern des Aufgabenstatus, bevor Sie diese Option nutzen. Außerdem sollte diese Option auf sehr wenige Benutzer beschränkt werden.

Beispiel:

{
    "old_status": 1572,
   "new_status":1900
}

Antwort: Abhängig vom Status der Aufgabe und der angeforderten runID sind die folgenden Antworten möglich:

  • Wenn der Status der Aufgabe diese Aktion zulässt, ist der resultierende Statuscode 200 OK, und es gibt keine Antwort.

  • Wenn die Anforderung eine ungültige runID enthält oder die runID einer Aufgabe entspricht, die in einem anderen Client ausgeführt wird, ist der resultierende Statuscode 404 Not Found, und die Antwort lautet wie folgt:

    {
        "code": 11049,
        "error": ""Cannot find task with RunID('0001141003') for Ignore precondition!",
        "details": "No detail information available."
    }
  • Wenn ein ungültiger Status angegeben wurde, ist der resultierende Statuscode 400 Bad Request und die Antwort lautet wie folgt:

    {
        "code": xxxxxx,
        "error": "Invalid state value (1300-2000): 6000",
        "details": "No detail information available."
    }
  • Wenn der alte Status nicht übereinstimmt, ist der resultierende Statuscode 404 Bad Request, und die Antwort lautet wie folgt:

    {
        "code": 11140,
        "error": "The status of task '<task name>' has been modified meanwhile.",
        "details": "No detail information available."
    }

 

Priorität ändern

Anforderung: POST​/{client_id}​/executions​/{run_id}​/priority

Diese Option ist für Aufgaben mit einem Status zwischen 1500 und 1799 verfügbar (siehe System-Rückgabewerte von ausführbaren Objekten). Sie können eine POST-Anfrage verwenden, um die Priorität einer Aufgabe zu ändern.

Beispiel:

 

Antwort: Abhängig vom Status der Aufgabe, der angeforderten runID und des angeforderten Prioritätsbereichs sind folgende Antworten möglich:

  • Wenn der Status der Aufgabe diese Aktion zulässt, die runID und der Prioritätsbereich richtig sind, ist der resultierende Statuscode 200 OK, und es gibt keine Antwort.

  • Wenn die angeforderte Priorität außerhalb des zulässigen Bereichs liegt, ist der resultierende Statuscode "404 Bad Request" und die Antwort lautet wie folgt:

    {
        "code": xxxx,
        "error": "Priority out of range (0-255): 6000",
        "details": "No detail information available."
    }
  • c

    {
        "code": 11049,
        "error": ""Cannot find task with RunID('0001141003') for modify priority!"
        "details": "No detail information available."
    }
  • Wenn die Aufgabe bereits beendet wurde, sind die resultierenden Statuscodes "403 Forbidden" oder "409 Conflict" und die Antwort lautet wie folgt:

    {
        "code": 4005774,
        "error": "Task with RunID '1168043' is not active or in a modifiable status.",
        "details": "No detail information available."
    }

Siehe auch: