It will automatically update until the run has either completed or failed.
If you're familiar with React Query, you'll recognize the data that is
returned by this hook. React Query 5 is used internally.
Parameters
eventId
string | undefined
required
Return subtasks, which appear in a subtasks
array on every task.
You can use this to get more tasks, if there are more than are returned in a
single batch.
How many tasks you want to return in one go, max 50.
How often you want to refresh, the default is 1000. Min is 500
Returns
The data returned from the server. The status of the run. Can be one of the following: PENDING
, CANCELED
,
SUCCESS
, QUEUED
, WAITING_ON_CONNECTIONS
, PREPROCESSING
, STARTED
,
FAILURE
, TIMED_OUT
, ABORTED
The time the run completed
Whatever you returned from your run function, can be undefined
The tasks from the run The key that you defined when creating the Task, the first param in any task.
The Task status, can be one of PENDING
, WAITING
, RUNNING
, COMPLETED
,
ERRORED
, CANCELED
.
The icon of the Task, a string. For integrations, this will be a lowercase
name of the company. Can be used with the
@trigger.dev/companyicons
package to display an svg. If there are more tasks, you can use this to get them
The error object if the request failed.
status
pending | success | error
The status of the request. This can be one of the following values: pending
,
success
and error
.
true
if the request is currently pending or if it is in a refetch
state.
true
if the request succeeded.
true
if the request failed.
true
if the request is currently pending.
true
if the request failed with a loading error.
true
if the request failed with a refetch error.
components/EventDetails.tsx
"use client" ;
import { useEventRunDetails } from "@trigger.dev/react" ;
export function EventDetails ({ eventId } : { eventId : string }) {
const { isLoading , isError , data , error } = useEventRunDetails ( eventId );
if ( isLoading ) {
return < div > Loading ...</ div > ;
}
if ( isError ) {
return < div > Error : {error. message } </ div > ;
}
//show the run status and all the tasks
return (
< div >
< h2 > Run status : { data ?. status }</ h2 >
< div >
{ data ?. tasks ?. map (( task ) => (
< div className = "flex gap-2 items-center" >
{ task . status === " ERRORED "
? "⛔️"
: task . status === " COMPLETED "
? "✅"
: "⏳"}
< div className = "flex gap-1.5 items-center" >
< h4 className = "text-base" > {task.displayKey ?? task. name } </ h4 >
</ div >
</ div >
))}
</ div >
</ div >
);
}