-
-
{job.stage}
-
- {job.status}
-
-
- {/* Why: durations come back as seconds; show "Nm Ns" for >60s
- and "Ns" otherwise. null = job hasn't finished. */}
- {typeof job.duration === 'number'
- ? job.duration >= 60
- ? `${Math.floor(job.duration / 60)}m ${Math.floor(job.duration % 60)}s`
- : `${Math.floor(job.duration)}s`
- : '—'}
-
-
- {canRetry ? (
-
- ) : null}
- {job.webUrl ? (
-
- ) : null}
-
-
-
- {translate('auto.components.GitLabItemDialog.2f9b27f838', 'Job log')}
-
-
- {traceState?.loading ? (
-
-
- {translate('auto.components.GitLabItemDialog.d600c2619a', 'Loading log')}
-
- ) : traceState?.error ? (
-
{traceState.error}
- ) : (
-
- {traceState?.trace?.trim()
- ? traceState.trace
- : translate('auto.components.GitLabItemDialog.32f8bef818', 'No log output.')}
-
- )}
-