Get Deployment Logs
GET /apps/{app_id}/deployments/{deployment_id}/logs
Why a build failed.
Returns every step of the build pod in the order Kubernetes runs them — fetch, scan-source, build, scan-image, then push — because “which step” is most of the answer. A step that has not started is omitted rather than returned empty, so a build in progress reports what exists so far.
An empty containers list means the build pod is gone or was never created.
Build pods are reaped an hour after they finish (ttlSecondsAfterFinished),
so logs for an older deployment are genuinely unavailable rather than hidden;
last_error_sanitized on the deployment is what survives.
redacted is always true and means graph8’s credential patterns were applied.
It is NOT a claim the output is safe to publish: this is a customer’s own
build output and it can print a secret in a shape no pattern matches.
Authorizations
Parameters
Path Parameters
Query Parameters
Lines per build step, newest last.
Lines per build step, newest last.
Header Parameters
Responses
200
Successful Response
object
Logs for one app or one of its builds.
redacted is always true and means only that graph8’s credential patterns
were applied. It is NOT a claim the output is safe to publish: these are a
customer’s own build and application logs, and an application can print a
secret in a shape no pattern matches.
object
One container’s tail of output.
A build is five steps in one pod (fetch, scan-source, build, scan-image,
push), so a single flat blob would leave a caller unable to say which step
failed. kind separates the four init steps from the one container, which
is the ordering Kubernetes actually runs them in.
object
The tail hit the per-container byte cap. Earlier output exists and was not returned.
The app’s own Kubernetes namespace. Derived from the app id, never supplied.
Lines requested per container, after clamping to the server maximum.
422
Validation Error