JFrog Artifactory · Schema

Artifactory Build Info

Schema for JFrog Artifactory build information, representing a CI/CD build record including modules, artifacts, dependencies, and environment details.

ArtifactsDevOpsCI/CDDocker RegistryMavenPackage ManagementRepository

Properties

Name Type Description
version string Build info JSON schema version.
name string Build name identifier.
number string Build number (version string).
type string Build type corresponding to the build tool used.
agent object Information about the CI server agent.
buildAgent object Information about the build tool agent.
started string ISO 8601 timestamp of when the build started.
durationMillis integer Build duration in milliseconds.
principal string The user principal who triggered the build.
artifactoryPrincipal string The Artifactory user associated with the build.
url string URL to the build in the CI server.
vcsRevision string VCS revision (e.g., Git commit SHA).
vcsUrl string VCS repository URL.
vcs array Detailed VCS information for multi-module builds.
modules array Build modules, each representing a logical unit of the build.
statuses array Build promotion status history.
properties object Build-level custom properties.
buildDependencies array Other builds this build depends on.
View JSON Schema on GitHub

JSON Schema

artifactory-build-info.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://jfrog.com/schemas/artifactory-build-info.json",
  "title": "Artifactory Build Info",
  "description": "Schema for JFrog Artifactory build information, representing a CI/CD build record including modules, artifacts, dependencies, and environment details.",
  "type": "object",
  "required": ["version", "name", "number", "started"],
  "properties": {
    "version": {
      "type": "string",
      "description": "Build info JSON schema version.",
      "examples": ["1.0.1"]
    },
    "name": {
      "type": "string",
      "description": "Build name identifier.",
      "examples": ["my-application"]
    },
    "number": {
      "type": "string",
      "description": "Build number (version string).",
      "examples": ["123", "1.0.0-SNAPSHOT"]
    },
    "type": {
      "type": "string",
      "description": "Build type corresponding to the build tool used.",
      "enum": [
        "GENERIC",
        "MAVEN",
        "GRADLE",
        "IVY",
        "ANT",
        "NPM",
        "NUGET",
        "GO",
        "PIP",
        "DOCKER"
      ]
    },
    "agent": {
      "type": "object",
      "description": "Information about the CI server agent.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Agent name (e.g., Jenkins, TeamCity, GitHub Actions).",
          "examples": ["Jenkins", "GitHub Actions"]
        },
        "version": {
          "type": "string",
          "description": "Agent version."
        }
      }
    },
    "buildAgent": {
      "type": "object",
      "description": "Information about the build tool agent.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Build tool name (e.g., MAVEN, GRADLE, NPM).",
          "examples": ["MAVEN", "GRADLE"]
        },
        "version": {
          "type": "string",
          "description": "Build tool version."
        }
      }
    },
    "started": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 timestamp of when the build started."
    },
    "durationMillis": {
      "type": "integer",
      "description": "Build duration in milliseconds.",
      "minimum": 0
    },
    "principal": {
      "type": "string",
      "description": "The user principal who triggered the build."
    },
    "artifactoryPrincipal": {
      "type": "string",
      "description": "The Artifactory user associated with the build."
    },
    "url": {
      "type": "string",
      "format": "uri",
      "description": "URL to the build in the CI server."
    },
    "vcsRevision": {
      "type": "string",
      "description": "VCS revision (e.g., Git commit SHA).",
      "examples": ["a1b2c3d4e5f6"]
    },
    "vcsUrl": {
      "type": "string",
      "format": "uri",
      "description": "VCS repository URL."
    },
    "vcs": {
      "type": "array",
      "description": "Detailed VCS information for multi-module builds.",
      "items": {
        "type": "object",
        "properties": {
          "revision": {
            "type": "string",
            "description": "VCS revision/commit."
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "VCS repository URL."
          },
          "branch": {
            "type": "string",
            "description": "VCS branch name."
          },
          "message": {
            "type": "string",
            "description": "Commit message."
          }
        }
      }
    },
    "modules": {
      "type": "array",
      "description": "Build modules, each representing a logical unit of the build.",
      "items": {
        "$ref": "#/$defs/module"
      }
    },
    "statuses": {
      "type": "array",
      "description": "Build promotion status history.",
      "items": {
        "$ref": "#/$defs/status"
      }
    },
    "properties": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Build-level custom properties."
    },
    "buildDependencies": {
      "type": "array",
      "description": "Other builds this build depends on.",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the dependency build."
          },
          "number": {
            "type": "string",
            "description": "Number of the dependency build."
          },
          "started": {
            "type": "string",
            "format": "date-time",
            "description": "Start time of the dependency build."
          }
        }
      }
    }
  },
  "$defs": {
    "module": {
      "type": "object",
      "description": "A build module representing a logical unit (e.g., a Maven module).",
      "properties": {
        "id": {
          "type": "string",
          "description": "Module identifier (e.g., groupId:artifactId:version for Maven).",
          "examples": ["com.example:my-module:1.0.0"]
        },
        "type": {
          "type": "string",
          "description": "Module type."
        },
        "artifacts": {
          "type": "array",
          "description": "Artifacts produced by this module.",
          "items": {
            "$ref": "#/$defs/artifact"
          }
        },
        "dependencies": {
          "type": "array",
          "description": "Dependencies consumed by this module.",
          "items": {
            "$ref": "#/$defs/dependency"
          }
        },
        "properties": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Module-level custom properties."
        }
      }
    },
    "artifact": {
      "type": "object",
      "description": "An artifact produced by a build module.",
      "properties": {
        "type": {
          "type": "string",
          "description": "Artifact type/extension.",
          "examples": ["jar", "pom", "war", "tar.gz"]
        },
        "sha1": {
          "type": "string",
          "description": "SHA-1 checksum.",
          "pattern": "^[a-f0-9]{40}$"
        },
        "sha256": {
          "type": "string",
          "description": "SHA-256 checksum.",
          "pattern": "^[a-f0-9]{64}$"
        },
        "md5": {
          "type": "string",
          "description": "MD5 checksum.",
          "pattern": "^[a-f0-9]{32}$"
        },
        "name": {
          "type": "string",
          "description": "Artifact file name.",
          "examples": ["my-module-1.0.0.jar"]
        },
        "properties": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Artifact-level properties."
        }
      }
    },
    "dependency": {
      "type": "object",
      "description": "A dependency consumed by a build module.",
      "properties": {
        "type": {
          "type": "string",
          "description": "Dependency type/extension.",
          "examples": ["jar", "pom"]
        },
        "sha1": {
          "type": "string",
          "description": "SHA-1 checksum.",
          "pattern": "^[a-f0-9]{40}$"
        },
        "sha256": {
          "type": "string",
          "description": "SHA-256 checksum.",
          "pattern": "^[a-f0-9]{64}$"
        },
        "md5": {
          "type": "string",
          "description": "MD5 checksum.",
          "pattern": "^[a-f0-9]{32}$"
        },
        "id": {
          "type": "string",
          "description": "Dependency identifier.",
          "examples": ["org.apache.commons:commons-lang3:3.12.0"]
        },
        "scopes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Dependency scopes.",
          "examples": [["compile", "runtime"]]
        },
        "requestedBy": {
          "type": "array",
          "items": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "description": "Dependency path showing which modules requested this dependency."
        }
      }
    },
    "status": {
      "type": "object",
      "description": "A build promotion status record.",
      "properties": {
        "status": {
          "type": "string",
          "description": "Promotion status label.",
          "examples": ["Staged", "Released", "Rolled-back"]
        },
        "comment": {
          "type": "string",
          "description": "Comment associated with the status change."
        },
        "repository": {
          "type": "string",
          "description": "Target repository for this promotion."
        },
        "timestamp": {
          "type": "string",
          "format": "date-time",
          "description": "When the status was applied."
        },
        "user": {
          "type": "string",
          "description": "Artifactory user who applied the status."
        },
        "ciUser": {
          "type": "string",
          "description": "CI server user who triggered the promotion."
        }
      }
    }
  }
}