JFrog · Schema

JFrog Repository

Represents a repository configuration in JFrog Artifactory, defining how artifacts are stored, proxied, or aggregated from multiple sources.

ArtifactoryCI/CDContainer RegistryDevOpsMLOpsPackage ManagementSecuritySoftware Supply Chain

Properties

Name Type Description
key string Unique identifier for the repository
rclass string Repository class defining its behavior
packageType string Type of packages stored in this repository
description string Free-text description of the repository
notes string Internal notes about the repository
includesPattern string Artifact include pattern
excludesPattern string Artifact exclude pattern
repoLayoutRef string Repository layout reference
handleReleases boolean Whether to handle release artifacts
handleSnapshots boolean Whether to handle snapshot artifacts
maxUniqueSnapshots integer Maximum number of unique snapshots to retain
suppressPomConsistencyChecks boolean Whether to suppress POM consistency checks
blackedOut boolean Whether the repository is blacked out (disabled)
xrayIndex boolean Whether the repository is indexed by Xray for scanning
propertySets array Property sets associated with the repository
dockerApiVersion string Docker API version (V1 or V2)
url string URL of the remote repository (remote repos only)
username string Username for remote repository authentication
environments array Environments this repository is associated with
projectKey string Project key if the repository belongs to a project
View JSON Schema on GitHub

JSON Schema

jfrog-repository-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://jfrog.com/schemas/repository",
  "title": "JFrog Repository",
  "description": "Represents a repository configuration in JFrog Artifactory, defining how artifacts are stored, proxied, or aggregated from multiple sources.",
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "Unique identifier for the repository",
      "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$",
      "examples": [
        "libs-release-local",
        "npm-remote",
        "maven-virtual"
      ]
    },
    "rclass": {
      "type": "string",
      "description": "Repository class defining its behavior",
      "enum": [
        "local",
        "remote",
        "virtual",
        "federated"
      ]
    },
    "packageType": {
      "type": "string",
      "description": "Type of packages stored in this repository",
      "enum": [
        "maven",
        "gradle",
        "ivy",
        "sbt",
        "helm",
        "cocoapods",
        "opkg",
        "rpm",
        "nuget",
        "cran",
        "gems",
        "npm",
        "bower",
        "debian",
        "composer",
        "pypi",
        "docker",
        "vagrant",
        "gitlfs",
        "go",
        "yum",
        "conan",
        "chef",
        "puppet",
        "generic",
        "conda",
        "p2",
        "swift",
        "terraform",
        "cargo",
        "oci"
      ]
    },
    "description": {
      "type": "string",
      "description": "Free-text description of the repository"
    },
    "notes": {
      "type": "string",
      "description": "Internal notes about the repository"
    },
    "includesPattern": {
      "type": "string",
      "description": "Artifact include pattern",
      "default": "**/*"
    },
    "excludesPattern": {
      "type": "string",
      "description": "Artifact exclude pattern",
      "default": ""
    },
    "repoLayoutRef": {
      "type": "string",
      "description": "Repository layout reference",
      "examples": [
        "maven-2-default",
        "npm-default",
        "simple-default"
      ]
    },
    "handleReleases": {
      "type": "boolean",
      "description": "Whether to handle release artifacts"
    },
    "handleSnapshots": {
      "type": "boolean",
      "description": "Whether to handle snapshot artifacts"
    },
    "maxUniqueSnapshots": {
      "type": "integer",
      "description": "Maximum number of unique snapshots to retain",
      "minimum": 0
    },
    "suppressPomConsistencyChecks": {
      "type": "boolean",
      "description": "Whether to suppress POM consistency checks"
    },
    "blackedOut": {
      "type": "boolean",
      "description": "Whether the repository is blacked out (disabled)"
    },
    "xrayIndex": {
      "type": "boolean",
      "description": "Whether the repository is indexed by Xray for scanning"
    },
    "propertySets": {
      "type": "array",
      "description": "Property sets associated with the repository",
      "items": {
        "type": "string"
      }
    },
    "dockerApiVersion": {
      "type": "string",
      "description": "Docker API version (V1 or V2)",
      "enum": [
        "V1",
        "V2"
      ]
    },
    "url": {
      "type": "string",
      "format": "uri",
      "description": "URL of the remote repository (remote repos only)"
    },
    "username": {
      "type": "string",
      "description": "Username for remote repository authentication"
    },
    "environments": {
      "type": "array",
      "description": "Environments this repository is associated with",
      "items": {
        "type": "string",
        "examples": [
          "DEV",
          "PROD"
        ]
      }
    },
    "projectKey": {
      "type": "string",
      "description": "Project key if the repository belongs to a project"
    }
  },
  "required": [
    "key",
    "rclass",
    "packageType"
  ]
}