Monitoring taskflow status with the status resource
If you have the privilege to view job results in Monitor, you can use the status resource to get the status of a taskflow. You can get the status of a taskflow using the taskflow run ID as a path parameter or using query parameters such as run ID, run status, start time, end time, offset, and row limit.
GET request
To get the status of a taskflow using the run ID as a path parameter, use the following URI:
Number of rows to skip. For example, you might want to skip the first three rows.
rowLimit
Maximum number of rows to return. The maximum number you can specify is 50. If you omit this parameter, the query returns all available rows, up to a maximum of 10 rows.
You can use any combination of these query parameters to get the status of multiple taskflows. For example, you can use the following URI:
Note: If the startTime or endTime parameters are not used in the query, the response contains status information about the taskflows that ran in the last 24 hours.
Authenticate the GET request in one of the following ways:
•Use basic authorization and specify the Informatica Intelligent Cloud Services user name and password.
To get the INFA-SESSION-ID, use the Platform REST API version 3 login resource. For more information about the login resource, see REST API Reference.
Send the request using JSON format. Include the following line in the header: Accept: application/json
GET response
Returns the taskflow status information if successful or an error object if errors occur.
If successful, returns the following status information for a taskflow:
Field
Type
Description
assetName
String
Name of the taskflow.
The taskflow name also includes the custom name, if you had added a custom name to the taskflow using an API or the RunAJob utility.
assetType
String
Type of the object. Returns the value TASKFLOW.
duration
String
Time in seconds that the taskflow ran before it completed, was suspended, was failed, or was stopped.
endTime
Date/time
End time for the taskflow run. Uses Coordinated Universal Time (UTC).
location
String
Project and folder path where the taskflow is located.
runId
Long
Run ID for the taskflow.
runtimeEnv
String
ID of the runtime environment where the taskflow runs.
runtimeEnvName
String
Name of the runtime environment where the taskflow runs.
startTime
Date/time
Start time for the taskflow run. Uses Coordinated Universal Time (UTC).
startedBy
String
User who started the taskflow.
status
String
Execution status of the taskflow.
Returns one of the following values to indicate the taskflow status:
- RUNNING. The taskflow is running.
- SUCCESS. The taskflow completed successfully.
- FAILED. The taskflow did not complete because it encountered errors.
- SUSPENDED. The taskflow run was suspended.
subtasks
String
Number of subtasks that the taskflow contains.
updateTime
Date/time
Last time the taskflow run status was updated. Uses Coordinated Universal Time (UTC).
errorMessage
String
Error message string.
subtaskDetails
String
Object that contains status details for all subtasks in the taskflow.
details
String
Status details. Includes status information for each subtask in the tasks object.
tasks
Collection
Status information for all subtasks that the taskflow contains.
The tasks object includes the following status information for each subtask that the taskflow contains:
Field
Type
Description
assetName
String
Name of the subtask in the taskflow.
assetType
String
Type of the subtask. Returns one of the following values:
- MTT. Mapping task.
- DSS. Synchronization task.
duration
String
Time in seconds that the subtask ran before it completed, was failed, or was stopped.
endTime
Date/time
End time for the subtask run. Uses Coordinated Universal Time (UTC).
errorMessage
String
Error message string.
errorRows
String
Total number of rows that resulted in errors in a subtask.
location
String
Project and folder path where the subtask is located.
rowsProcessed
String
Total number of rows that were processed in a subtask.
runId
Long
Run ID for the subtask.
runtimeEnv
String
ID of the runtime environment where the subtask runs.
runtimeEnvName
String
Name of the runtime environment where the subtask runs.
startTime
Date/time
Start time for the subtask run. Uses Coordinated Universal Time (UTC).
startedBy
String
User who started the task. This field is the same as the user who started the taskflow.
status
String
Execution status of the subtask.
Returns one of the following values to indicate the subtask status:
- QUEUED. The subtask is queued on a Secure Agent, but it has not started yet.
- STARTING. The subtask is starting.
- RUNNING. The subtask is running.
- COMPLETED. The subtask completed successfully.
- SUSPENDED. The subtaskflow is suspended.
- STOPPED. The taskflow has stopped running, so the subtask cannot start.
- WARNING. The subtask completed with errors.
- FAILED. The subtask did not complete because it encountered errors.
subtasks
String
Reserved for future use. When this field is returned for a subtask, the value is always 0.
successRows
String
Total number of rows that were processed successfully in a subtask.
updateTime
Date/time
Last time the subtask run status was updated. Uses Coordinated Universal Time (UTC).
You might receive one of the following responses:
Response
Description
Purged logs
If logs are purged for the instance, the response is as follows:
{ "status": "No status available." }
The HTTP status code is 200 OK.
Invalid run ID
If the run ID is not valid, the response is as follows:
{ "error": "CMN_003-Bad request. Error message - The property '<runID>', used in a query expression, is not defined in type 'OData.job-log-service.JobLogEntry'." }
The HTTP status code is 400 Bad Request(From JLS).
Invalid filter clause
If the parameter value is not valid, the response is as follows:
The HTTP status code is 400 Bad Request(From JLS).
Unavailable JLS service
If the JLS service is unavailable, the response is as follows:
{ "error": "503-Service Unavailable." }
The HTTP status code is 503 Service Unavailable.
GET example using the run ID as a path parameter
The following example shows a taskflow status request that uses the run ID as a path parameter:
GET https://pod.ics.dev:444/active-bpel/services/tf/status/20262247166322413568 Accept: application/json INFA-SESSION-ID: 9KA11tLGqxVcGeul8SQBK3
Based on the taskflow configuration and request inputs, the response can be of the following types:
Taskflow without subtasks
If the request is successful and the taskflow does not contain subtasks, the response includes taskflow status information as shown in the following example:
If the request is successful and the taskflow contains multiple subtasks, the response includes status information for each subtask that the taskflow contains as shown in the following example:
The following example shows a taskflow status request that uses run ID, run status, and row limit as query parameters:
GET https://pod.ics.dev:444/active-bpel/services/tf/status?runId=20262247166322413568&runStatus=Success&rowLimit=3 Accept: application/json INFA-SESSION-ID: 9KA11tLGqxVcGeul8SQBK3
If the request is successful, the response format is the same as when we use the path parameter, but within square brackets [ ].
If the request is successful and the taskflow does not contain subtasks, the response includes taskflow status information as shown in the following example:
The response contains status information of the last 10 taskflows that were run in the last 24 hours.
GET example of a running taskflow
If you use the status resource to get the status of a running taskflow, the response includes taskflow status information with the endTime as null without quotes as shown in the following example: