Repository Configuration JSON

JFrog REST APIs

Products
JFrog Xray
Content Type
REST API
ft:sourceType
Paligo

Repository Configuration JSON

Legend

Element

Description

+

Mandatory element in create/replace queries (optional in "update" queries)

-

Optional element in create/replace queries

(default)

The default value when unspecified in create/replace queries

Local Repository

application/vnd.org.jfrog.artifactory.repositories.LocalRepositoryConfiguration+json
{
  - "key": "local-repo1",
  - "projectKey": "projx",
  - "environments":["DEV", "PROD"],
  + "rclass" : "local",
  - "packageType": "alpine"|"cargo"|"composer"|"bower"|"chef"|"cocoapods"|"conan"|"cran"|"debian"|"docker"|"helm"|"helmoci"|"huggingfaceml"|"gems"|"gitlfs"|"go"|"gradle"|"ivy"|"maven"|"npm"|"nuget"|"oci"|"opkg"|"pub"|"puppet"|"pypi"|"rpm"|"sbt"|"swift"|"terraform"|"vagrant"|"yum"|"generic" (default)
  - "description": "The local repository public description", 
  - "notes": "Some internal notes",
  - "includesPattern": "**/*" (default),
  - "excludesPattern": "" (default),
  - "repoLayoutRef" : "maven-2-default" (default),
  - "debianTrivialLayout" : false,
  - "checksumPolicyType": "client-checksums" (default) | "server-generated-checksums"
  - "handleReleases": true (default),
  - "handleSnapshots": true (default),
  - "maxUniqueSnapshots": 0 (default),
  - "maxUniqueTags": 0 (default),
  - "snapshotVersionBehavior": "unique"(default) | "non-unique" | "deployer", #Specifies the naming convention for Maven SNAPSHOT versions. From release 7.41, this default changed from "non-unique" to "unique" and affects both local and federated repositories
  - "suppressPomConsistencyChecks": false (default),
  - "blackedOut": false (default),
  - "xrayIndex" : false       (default),
  - "propertySets": ["ps1", "ps2"],
  - "archiveBrowsingEnabled" : false,
  - "calculateYumMetadata" : false,
  - "yumRootDepth" : 0,
  - "dockerApiVersion" : "V2" (default),
  - "enableFileListsIndexing" : "false" (default),
  - "optionalIndexCompressionFormats" : ["bz2", "lzma", "xz"],
  - "downloadRedirect" : "false" (default),
  - "cdnRedirect": "false" (default, Applies to Artifactory Cloud Only),
  - "blockPushingSchema1": "false",
  - "primaryKeyPairRef" : "mygpgkey",
  - "secondaryKeyPairRef" : "mysecgpgkey",
  - "priorityResolution": "false" (default, Applies to all repository types excluding CocoaPods, Git LFS, NuGet V2, Opkg, Rust, Vagrant and VCS repositories)
}

Remote Repository

application/vnd.org.jfrog.artifactory.repositories.RemoteRepositoryConfiguration+json
{
  - "key": "remote-repo1",
  - "projectKey": "projx",
  - "environments":["DEV", "PROD"],
  + "rclass" : "remote",
  - "packageType": "alpine"|"cargo"|"composer"|"bower"|"chef"|"cocoapods"|"conan"|"cran"|"debian"|"docker"|"helm"|"helmoci"|"huggingfaceml"|"gems"|"gitlfs"|"go"|"gradle"|"ivy"|"maven"|"npm"|"nuget"|"oci"|"opkg"|"pub"|"puppet"|"pypi"|"rpm"|"sbt"|"swift"|"terraform"|"yum"|"generic" (default)
  + "url" : "http://host:port/some-repo",
  - "username": "remote-repo-user",
  - "password": "pass",
  - "proxy": "proxy1",
  - "disableProxy": false (default),
  - "description": "The remote repository public description",
  - "notes": "Some internal notes",
  - "includesPattern": ""alpine"|"cargo"|"composer"|"bower"|"chef"|"cocoapods"|"conan"|"cran"|"debian"|"docker"|"helm"|"helmoci"|"huggingfaceml"|"gems"|"gitlfs"|"go"|"gradle"|"ivy"|"maven"|"npm"|"nuget"|"oci"|"opkg"|"pub"|"puppet"|"pypi"|"rpm"|"sbt"|"swift"|"terraform"|"yum"|"generic" (default)**/*" (default),
  - "excludesPattern": "" (default),
  - "repoLayoutRef" : "maven-2-default",
  - "remoteRepoLayoutRef" : "" (default),
  - "remoteRepoChecksumPolicyType": "generate-if-absent" (default) | "fail" | "ignore-and-generate" | "pass-thru",
  - "handleReleases": true (default),
  - "handleSnapshots": true (default),
  - "maxUniqueSnapshots": 0 (default),
  - "suppressPomConsistencyChecks": false (default),
  - "hardFail": false (default),
  - "offline": false (default),
  - "blackedOut": false (default),
  - "storeArtifactsLocally": true (default),
  - "socketTimeoutMillis": 15000 (default),
  - "localAddress": "212.150.139.167",
  - "retrievalCachePeriodSecs": 7200 (default),
  - "missedRetrievalCachePeriodSecs": 1800 (default),
  - "unusedArtifactsCleanupPeriodHours": 0 (default),
  - "assumedOfflinePeriodSecs" : 300 (default),
  - "fetchJarsEagerly": false (default),
  - "fetchSourcesEagerly": false (default),
  - "shareConfiguration": false (default),
  - "synchronizeProperties": false (default),
  - "blockMismatchingMimeTypes" : true (default),
  - "xrayIndex": false (default),
  - "propertySets": ["ps1", "ps2"],
  - "allowAnyHostAuth": false (default),              
  - "enableCookieManagement": false (default),
  - "enableTokenAuthentication": false (default),   
  - "bowerRegistryUrl": "https://registry.bower.io" (default),   
  - "gitRegistryUrl": "https://github.com/rust-lang/crates.io-index" (default),
  - "composerRegistryUrl": "https://packagist.org" (default),
  - "pyPIRegistryUrl": "https://pypi.org" (default),
  - "vcsType": "GIT" (default),
  - "vcsGitProvider": "GITHUB" (default) | "BITBUCKET" | "OLDSTASH" | "STASH" | "ARTIFACTORY" | "CUSTOM",
  - "vcsGitDownloadUrl": "" (default),
  - "bypassHeadRequests" : false (default),
  - "clientTlsCertificate": "" (default),
  + "externalDependenciesEnabled": false (default, Applies to Docker repositories only),
  - "externalDependenciesPatterns": [ "**/*microsoft*/**", "**/*github*/**" ] (Applies to Docker repositories only)
  - "downloadRedirect" : "false" (default),
  - "cdnRedirect": "false" (default, Applies to Artifactory Cloud Only),
  - "feedContextPath":"api/v2",
  - "downloadContextPath":"api/v2/package",
  - "v3FeedUrl":"https://api.nuget.org/v3/index.json",
  - "contentSynchronisation": {
      "enabled": false (default),
      "statistics": {
          "enabled": false (default)
      },
      "properties": {
          "enabled": false (default)
      },
      "source": {
          "originAbsenceDetection": false (default)
      }
        },
   - "blockPushingSchema1": false,    
   - "priorityResolution": false (default, Applies to all repository types excluding CocoaPods, Git LFS, NuGet V2, Opkg, Rust, Vagrant and VCS repositories),
   - "disableUrlNormalization": false (default)
}

Virtual Repository

application/vnd.org.jfrog.artifactory.repositories.VirtualRepositoryConfiguration+json
{
  - "key": "virtual-repo1",
  - "projectKey": "projx",
  - "environments":["DEV", "PROD"],
  + "rclass" : "virtual",
  + "packageType": "alpine"|"composer"|"bower"|"chef"|"conan"|"cran"|"debian"|"docker"|"helm"|"helmoci"|"huggingfaceml"|"gems"|"gitlfs"|"go"|"gradle"|"ivy"|"maven"|"npm"|"nuget"|"oci"|"pub"|"puppet"|"pypi"|"rpm"|"sbt"|"swift"|"terraform"|"yum"|"generic" (default)   
  - "repositories": ["local-rep1", "local-rep2", "remote-rep1", "virtual-rep2"]
  - "description": "The virtual repository public description",
  - "notes": "Some internal notes",
  - "includesPattern": "**/*" (default),
  - "excludesPattern": "" (default),
  - "repoLayoutRef": "maven-2-default",
  - "debianTrivialLayout" : false,
  - "debianDefaultArchitectures" : "arm64,amd64", (applies to Debian repositories only),
  - "artifactoryRequestsCanRetrieveRemoteArtifacts": false,
  - "keyPair": "keypair1",
  - "pomRepositoryReferencesCleanupPolicy": "discard_active_reference" (default) | "discard_any_reference" | "nothing"
  - "defaultDeploymentRepo": "local-repo1",
  - "optionalIndexCompressionFormats" : ["bz2", "lzma", "xz"],  
  - "forceMavenAuthentication": false, (default - Applies to Maven repositories only),
  + "externalDependenciesEnabled": false (default - Applies to Bower, npm and Go repositories only),
  - "externalDependenciesPatterns": [ "**/*microsoft*/**", "**/*github*/**" ] (Applies to Bower, npm and Go repositories only),
  - "externalDependenciesRemoteRepo": "" (Applies to Bower and npm repositories only),
  - "primaryKeyPairRef": "mygpgkey",   
  - "secondaryKeyPairRef": "mysecgpgkey"
}

Federated Repository

application/vnd.org.jfrog.artifactory.repositories.FederatedRepositoryConfiguration+json
{ 
  - "key": "federated-repo1",
  - "projectKey": "projx",
  - "environments":["DEV", "PROD"],
  + "rclass" : "federated",
  - "packageType": "alpine" | "maven" | "gradle" | "ivy" | "sbt" | "helm" | "helmoci" |"huggingfaceml" | "cargo" | "cocoapods" | "opkg" | "rpm"| "nuget" | "cran" | "gems" | "npm" | "bower" | "debian" | "composer" | "oci" | "pypi" | "docker" | "vagrant" | "gitlfs" | "go" | "yum" | "conan" | "chef" | "puppet" | "generic" (default)
  - "members": [{"url": "http://targetartifactory/artifactory/repositoryName", "enabled":"true"},": [{"url": "full URL to ending with the repositoryName", "enabled":"true by default. represents the active state of the federated member. it is supported to change the enabled status of my own member. the config will be updated on the other federated members automatically."} ]   //If a Federated member receives a request that does not include the repository URL, it will automatically be added with the combination of the configured base URL
     and "key" field value. Note that each of the federated members will need to have a base URL set,
  - "description": "The federated repository public description",
  - "proxy": "proxy-key", 
  - "disableProxy": false (default),
  - "notes": "Some internal notes",
  - "includesPattern": "**/*" (default),
  - "excludesPattern": "" (default),
  - "repoLayoutRef" : "maven-2-default" (default),
  - "debianTrivialLayout" : false,
  - "checksumPolicyType": "client-checksums" (default) | "server-generated-checksums"
  - "handleReleases": true (default),
  - "handleSnapshots": true (default),
  - "maxUniqueSnapshots": 0 (default),
  - "maxUniqueTags": 0 (default),
  - "snapshotVersionBehavior": "unique" (default) | "non-unique" | "deployer",
  - "suppressPomConsistencyChecks": false (default),
  - "blackedOut": false (default),
  - "xrayIndex" : false (default),
  - "propertySets": ["ps1", "ps2"],
  - "archiveBrowsingEnabled" : false,
  - "calculateYumMetadata" : false,
  - "yumRootDepth" : 0,
  - "dockerApiVersion" : "V2" (default),
  - "enableFileListsIndexing" : "false" (default),
  - "optionalIndexCompressionFormats" : ["bz2", "lzma", "xz"],
  - "downloadRedirect" : "false" (default),
  - "cdnRedirect": "false" (default, Applies to Artifactory Cloud Only),
  - "blockPushingSchema1": "false",
  - "primaryKeyPairRef": "mygpgkey",
  - "secondaryKeyPairRef": "mysecgpgkey",
  - "priorityResolution": false (default, Applies to all repository types excluding CocoaPods, Git LFS, NuGet V2, Opkg, RPM, Rust, Vagrant and VCS repositories)
}