Distribute Release Bundle v1 Version

JFrog REST APIs

Content Type
REST API
ft:sourceType
Paligo

Description: Schedules a Release Bundle v1 version for distribution to Distribution Edges. Action tracking ID will be returned.

Important

For information about distributing a Release Bundle v2 version, see Distribute Release Bundle Version v2.

Since: 1.0

Security: Authenticated users only. User must have distribution permission for the release bundle. The Distribution Edges will be filtered by the user's permissions.

Change in Permissions from Release 2.13.2

From Distribution 2.13.2, the user must have:

  • Read and deploy permissions on the target repositories

  • Permissions on the destination repository

  • Distribution permissions on the required Release Bundle

This is a breaking change from previous versions, whereby any user with any permissions could distribute release bundles.

Usage: POST /api/v1/distribution/:name/:version

Request headers: N/A

Consumes: application/json

cURL Example

$ curl -u user:password -H "Content-Type: application/json" -X POST "http://ARTIFACTORY_SERVER_HOSTNAME:8082/distribution/api/v1/distribution/:name/:version" -T distribute.json

distribute.json

{
  "dry_run": true|false,
  "auto_create_missing_repositories": true|false,
  "distribution_rules": [
    {
      "site_name": "?wildcard*",
      "city_name": "?wildcard*",
      "country_codes": ["?wildcard*"]
    }
  ]
}

Field

Type

Required

Default Value

Description

dry_run

Boolean

no

false

If true, only parses and validates.

Note: this parameter default was previously set to true in versions below 2.x.

auto_create_missing_repositories

Boolean

no

false

From version 2.8.1.

If true, this enables you to automatically create missing target repositories on the target edges or Artifactory when distributing Release Bundles. For more information, see Target Repository Auto-Creation.Distribute Release Bundles

distribution_rules

List (Object)

yes

N/A

Describes the filters by which Distribution Edge are selected. Must resolve at least one edge.

distribution_rules.site_name

String

no

"*"

Wildcard filter for site name

distribution_rules.city_name

String

no

"*"

Wildcard filter for site city name

distribution_rules.country_codes

List (String)

no

[ "*" ]

Wildcard filters for site country codes

Response status codes:

200 - Success for dry_run

202 - Successfully scheduled distribution

400 - Release bundle version must be signed before distribution

404 - Release bundle or release bundle version not found

Response headers: N/A

Produces: application/json

Response

{
  "id": 188527534551203840,
  "sites": [
    {
      "service_id": "jfrt@01cc8hkzy1zgtc1wqw3zk41p2a",
      "name": "US_NY_Art01",
      "type": "edge"
    },
    ...
  ]
}

Stop Release Bundle Version Distribution

Description: Stop a release bundle version distribution to Distribution Edges.

Since: 1.1

Security: Authenticated users only. User must have distribution permission for the release bundle. The Distribution Edges will be filtered by the user's permissions.

Usage: PUT /api/v1/distribution/:name/:version/abort

Request headers: N/A

Consumes: application/json

cURL Example

$ curl -u user:password -X PUT "http://ARTIFACTORY_SERVER_HOSTNAME:8082/distribution/api/v1/distribution/:name/:version/abort"

Response status codes:

202 - Successfully scheduled distribution interruption. Returns the list of Distribution Edges affected by the stop request.

204 - No Distribution Edge with distribution in progress found

404 - Release bundle or release bundle version not found

Response headers: N/A

Produces: application/json

Response

[
    {
        "name":"US_NY_Art01",
        "service_id":"jfrt@01cejrg5ack7dd1v3r213a0vx9",
        "type":"edge"
    },
    {
        "name":"UK_LN_Art02",
        "service_id":"jfrt@01cejrfwjtt65d1g9asq8h1cda",
        "type":"edge"
    }
]