Currently it is not possible to use a build image directly in a job:
tools.cluebotng-review@tools-bastion-15:~$ toolforge build show cluebotng-review-buildpacks-pipelinerun-5468s
Build ID: cluebotng-review-buildpacks-pipelinerun-5468s
Start Time: 2025-10-23T12:26:40Z
End Time: 2025-10-23T12:28:00Z
Status: ok
Message: Tasks Completed: 1 (Failed: 0, Cancelled 0), Skipped: 0
Parameters:
Source URL: https://github.com/cluebotng/reviewer.git
Ref: refs/tags/v0.13.0
Envvars: N/A
Use latest versions: True
Destination Image: tools-harbor.wmcloud.org/tool-cluebotng-review/cluebotng-reviewer:latest@sha256:9f7508f2642e15798bcccd3fa70cee1151ba283db78d23036d751d6753662551tools.cluebotng-review@tools-bastion-15:~$ toolforge jobs run --image tools-harbor.wmcloud.org/tool-cluebotng-review/cluebotng-reviewer:latest@sha256:9f7508f2642e15798bcccd3fa70cee1151ba283db78d23036d751d6753662551 --command 'sleep inf' --continuous example-job ERROR: No such image 'tools-harbor.wmcloud.org/tool-cluebotng-review/cluebotng-reviewer:latest@sha256:9f7508f2642e15798bcccd3fa70cee1151ba283db78d23036d751d6753662551'
Note, this is not related to the digest support added to builds-api
tools.cluebotng-review@tools-bastion-15:~$ toolforge jobs run --image tools-harbor.wmcloud.org/tool-cluebotng-review/cluebotng-reviewer:latest --command 'sleep inf' --continuous example-job ERROR: No such image 'tools-harbor.wmcloud.org/tool-cluebotng-review/cluebotng-reviewer:latest'
But is related to how jobs-api handles images - https://gitlab.wikimedia.org/repos/cloud/toolforge/jobs-api/-/blob/main/tjf/runtimes/k8s/images.py#L221
The accepted image is queryable via the API/cli
tools.cluebotng-review@tools-bastion-15:~$ toolforge jobs images +----------------------------------------------------+-----------------------------------------------------------------------------+ | Short name | image | +----------------------------------------------------+-----------------------------------------------------------------------------+ | bookworm | docker-registry.tools.wmflabs.org/toolforge-bookworm-sssd:latest | | bullseye | docker-registry.tools.wmflabs.org/toolforge-bullseye-sssd:latest | | jdk17 | docker-registry.tools.wmflabs.org/toolforge-jdk17-sssd-base:latest | | jdk21 | docker-registry.svc.toolforge.org/toolforge-jdk21-sssd-base:latest | | mariadb | docker-registry.tools.wmflabs.org/toolforge-mariadb-sssd-base:latest | | mono6.12 | docker-registry.tools.wmflabs.org/toolforge-mono612-sssd-base:latest | | mono6.8 | docker-registry.tools.wmflabs.org/toolforge-mono68-sssd-base:latest | | node16 | docker-registry.tools.wmflabs.org/toolforge-node16-sssd-base:latest | | node18 | docker-registry.tools.wmflabs.org/toolforge-node18-sssd-base:latest | | node20 | docker-registry.svc.toolforge.org/toolforge-node20-sssd-base:latest | | perl5.32 | docker-registry.tools.wmflabs.org/toolforge-perl532-sssd-base:latest | | perl5.36 | docker-registry.tools.wmflabs.org/toolforge-perl536-sssd-base:latest | | perl5.40 | docker-registry.svc.toolforge.org/toolforge-perl540-sssd-base:latest | | php7.4 | docker-registry.tools.wmflabs.org/toolforge-php74-sssd-base:latest | | php8.2 | docker-registry.tools.wmflabs.org/toolforge-php82-sssd-base:latest | | php8.4 | docker-registry.svc.toolforge.org/toolforge-php84-sssd-base:latest | | python3.11 | docker-registry.tools.wmflabs.org/toolforge-python311-sssd-base:latest | | python3.13 | docker-registry.svc.toolforge.org/toolforge-python313-sssd-base:latest | | python3.9 | docker-registry.tools.wmflabs.org/toolforge-python39-sssd-base:latest | | ruby2.1 | docker-registry.tools.wmflabs.org/toolforge-ruby21-sssd-base:latest | | ruby2.7 | docker-registry.tools.wmflabs.org/toolforge-ruby27-sssd-base:latest | | ruby3.1 | docker-registry.tools.wmflabs.org/toolforge-ruby31-sssd-base:latest | | ruby3.3 | docker-registry.svc.toolforge.org/toolforge-ruby33-sssd-base:latest | | tcl8.6 | docker-registry.tools.wmflabs.org/toolforge-tcl86-sssd-base:latest | | tool-cluebotng-review/backup-database:latest | tools-harbor.wmcloud.org/tool-cluebotng-review/backup-database:latest | | tool-cluebotng-review/cluebotng-reviewer:latest | tools-harbor.wmcloud.org/tool-cluebotng-review/cluebotng-reviewer:latest | | tool-cluebotng-review/grafana-alloy:latest | tools-harbor.wmcloud.org/tool-cluebotng-review/grafana-alloy:latest | | tool-cluebotng-review/irc-relay-placeholder:latest | tools-harbor.wmcloud.org/tool-cluebotng-review/irc-relay-placeholder:latest | | tool-cluebotng-review/irc-relay:latest | tools-harbor.wmcloud.org/tool-cluebotng-review/irc-relay:latest | | tool-cluebotng-review/prune-backups:latest | tools-harbor.wmcloud.org/tool-cluebotng-review/prune-backups:latest | | tool-cluebotng-review/pushgateway:latest | tools-harbor.wmcloud.org/tool-cluebotng-review/pushgateway:latest | | tool-cluebotng-review/redis:latest | tools-harbor.wmcloud.org/tool-cluebotng-review/redis:latest | | tool-cluebotng-review/tool-cluebotng-review:latest | tools-harbor.wmcloud.org/tool-cluebotng-review/tool-cluebotng-review:latest | | trixie | docker-registry.svc.toolforge.org/toolforge-trixie-sssd:latest | +----------------------------------------------------+-----------------------------------------------------------------------------+
However the CLI does not support a machine parsable implementation (e.g. --json).
As a user it is reasonable to expect that an image returned from the build service can be used within the jobs (/components) service.