Skip to content
Latchkey

Artifactory "404 repository not found" in CI

Artifactory returned HTTP 404 because the repository key in the path does not resolve. The credential may be valid; the repo name, path, or type is wrong.

What this error means

A jf rt upload or jf rt download step fails with "404 Not Found" naming the repo path. The repo key does not exist or is spelled differently in Artifactory.

jf
[Error] server response: 404 Not Found
{
  "errors": [ { "status": 404, "message": "The repository 'libs-relese-local' was not found." } ]
}

Common causes

The repository key is wrong or misspelled

Artifactory addresses artifacts by repo key first (libs-release-local/path). A typo in that key returns 404 even with valid auth.

Wrong repository type in the path

Targeting a virtual or remote repo for a deploy, or a local repo for a proxied pull, resolves to a path that does not exist for that operation.

How to fix it

List repositories and use the exact key

  1. List the configured repositories to confirm the exact key and type.
  2. Correct the repo key in the upload or download path.
  3. Re-run the operation against the verified key.
Terminal
jf rt curl -XGET "/api/repositories" | jq '.[].key'

Deploy to a local repo, resolve through a virtual

Deploys must target a local repository; resolution can go through a virtual that aggregates it. Match the operation to the correct repo type.

Terminal
jf rt upload "build/*.jar" "libs-release-local/com/acme/"

How to prevent it

  • Store repo keys as workflow variables to avoid per-step typos.
  • Deploy to local repos and resolve through virtual repos.
  • Verify repo keys with the repositories API when onboarding a pipeline.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →