Create Release Bundle v2 Version

JFrog REST APIs

Content Type
REST API

Description: Creates a new Release Bundle v2, uniquely identified by a combination of repository key, name, and version. For more information, see Understanding Release Bundles v2.Understanding Release Bundles v2

You can create a Release Bundle version using one or a combination of the following source types:

  • AQL

  • Artifacts

  • Packages

  • Builds

  • Release Bundles

Tip

To see examples of each source type, click here.

Since: 7.63.2

Usage:POST  /lifecycle/api/v2/release_bundle

Query Parameters (optional):

Parameter

Type

Description

repository_key

string

Release Bundles repository identifier that identifies where a Release Bundle version resides. If this parameter and the project query parameter are not specified, the default value of release-bundles-v2 is assumed.

project

string

Project key used to determine the Release Bundles repository. By convention, each project may contain only one Release Bundles system repository with the name <project-key>-release-bundles-v2. This query parameter may be used instead of repository_key.

Important

You must specify either the repository_key or the project when performing an operation (for example, promotion or distribution) on a Release Bundle v2 that belongs to a specific project.Projects

async

boolean

Determines whether the operation should be asynchronous (true) or synchronous (false).

The default value is true, which means that Artifactory does not wait for Release Bundle creation to complete before allowing you to move on to the next task.

fail_fast

boolean

Determines whether the creation operation stops immediately when a validation error occurs:

  • true: [default] The Release Bundle creation operation stops immediately when a validation error occurs.

  • false: The Release Bundle creation operation will continue even if validation errors occur. After the operation fails, supported errors are returned as a group to the operator. This option is useful for debugging purposes.

Note

For details about supported errors, see Release Bundle v2 Creation Errors Collected by System.

dry_run

boolean

When set to true, performs a dry run of Release Bundle creation. A dry run lets you evaluate the results of the creation process without actually creating the Release Bundle. All validations are performed, but there is no persistence.

The default value is false.

Request Header:

Parameter

Type

Description

X-JFrog-Signing-Key-Name

string

The name of the GPG key pair configured in the JFrog platform to be used for signing the Release Bundle version.

If no key is specified, Artifactory uses a default key named default-lifecycle-key.

Note

See Create Key Pair for instructions about creating the key pair in Artifactory.

If the Release Bundle is intended for distribution using JFrog Distribution, you must propagate the key pair from Artifactory to the Distribution Edge nodes. For more information, see Propagate Public Signing Key.JFrog Distribution

The creation and distribution action will fail if the signing key has expired.

Consumes: application/json

Request Body Parameters:

Parameter

Required

Type

Description

release_bundle_name

required

string

Name of the Release Bundle. Must consist only of letters, digits, underscores, periods, and hyphens, and must begin with a letter, digit, or underscore. Limited to 255 characters.

release_bundle_version

required

string

Release Bundle version. Must consist only of letters, digits, underscores, periods, hyphens, and the plus sign (+). Limited to 255 characters.

draft

optional

boolean

When set to true, creates an unlocked, draft Release Bundle version to which you can add sources as needed until it is finalized.

The default is false.

tag

optional

string

The tag to apply to the Release Bundle version.

The tag may contain alphanumeric characters, dashes (-), underscores (_), and periods (.). It should not contain spaces or special characters (@, #, etc.).

The maximum length is 128 characters.

sources

required

array

An array of source objects that define the contents of the Release Bundle. The structure of each object depends on its source_type.

sources.source_type

required

string

Describes one or more source types for the contents of the Release Bundle, including:

  • aql

  • artifacts

  • packages

  • builds

  • release_bundles

Note

The sources property is relevant for Artifactory version 7.113.0 and above. Earlier versions do not support the creation of Release Bundle versions from multiple source types.Artifactory 7.113.0 Cloud

A workaround for earlier versions is to use aql as the source_type and have the query include artifacts, packages, and builds. (AQL ultimately resolves builds and packages as artifacts.)

sources.aql

required when source_type=aql

string

An AQL query that specifies the artifacts to include.

sources.skip_docker_manifest_resolution

optional

boolean

Used with source_type=aql and source_type=artifacts.

Determines whether to skip the resolution of the Docker manifest, which adds the image layers to the Release Bundle.

If set to false (default), Docker manifests will be resolved to include all their layers.

sources.artifacts

required when source_type=artifacts

array

An array of objects specifying artifacts by path and checksum.

sources.artifacts.path

required

string

The repository path of the artifact.

sources.artifacts.sha256

optional

string

The SHA256 checksum of the artifact.

sources.builds

required when source_type=builds

array

An array of objects specifying builds by name and number.

sources.builds.build_repository

required when source_type=builds

string

The repository where the build information is stored (for example, artifactory-build-info).

sources.builds.build_name

required when source_type=builds

string

The name of the build.

sources.builds.build_number

required when source_type=builds

string

The build number.

sources.builds.build_started

required when source_type=builds

string

The start date of the build in ISO 8601 format (for example, 2021-10-11T12:23:04.000Z).

sources.builds.include_dependencies

optional

boolean

Used with source_type=builds.

When set to true, includes the build dependencies in the Release Bundle.

The default value is false.

sources.packages

required when source_type=packages

array

An array of objects specifying packages by name, version, and repository key.

sources.packages.package_name

required when source_type=packages

string

The name of the package.

sources.packages.package_version

required when source_type=packages

string

The package version.

sources.packages.repository_key

required when source_type=packages

string

The source repository key.

sources.packages.package_type

required when source_type=packages

string

The package type (docker, maven, etc.).

sources.release_bundles

required when source_type=release_bundles

array

An array of objects specifying Release Bundles by name and version.

sources.release_bundles.project_key

optional

string

The source project key.

sources.release_bundles.release_bundle_name

required when source_type=release_bundles

string

The name of the source Release Bundle.

sources.release_bundles.release_bundle_version

required when source_type=release_bundles

string

The source Release Bundle version.

sources.release_bundles.repository_key

required when source_type=release_bundles

string

The source repository key.

filters

optional

object

Defines sources to include or exclude in the Release Bundle version. Filters are used for Release Bundle patching.

filters.included

optional

array:object

If defined, only those artifacts/packages from the defined sources that match the filter are included in the Release Bundle version.

  • For artifacts: At least one field (path or sha256) must be specified.

  • For packages: At least one field (package_type, package_name, or package_version) must be specified.

A single * can be used as a wildcard at the beginning or the end of the string. Each string is limited to 255 characters. Each request can have a maximum of 50 filter objects.

Regular expressions and character classes are not supported.

filters.excluded

optional

array:object

If defined, only those artifacts/packages from the defined sources that match the filter are excluded from the Release Bundle version.

  • For artifacts: At least one field (path or sha256) must be specified.

  • For packages: At least one field (package_type, package_name, or package_version) must be specified.

A single * can be used as a wildcard at the beginning or the end of the string. Each string is limited to 255 characters. Each request can have a maximum of 50 filter objects.

Regular expressions and character classes are not supported.

Warning

Both include and exclude filters can be used in the same request, but an error is generated If there is a conflict between them.

Response Body:

A successful response includes the following parameters:

Parameter

Type

Description

repository_key

string

The repository where the Release Bundle was created. The default location is release-bundles-v2. When working in the scope of a specific project, the default location is [project_name]-release-bundles-v2.

release_bundle_name

string

The name of the newly created Release Bundle.

release_bundle_version

string

The version of the newly created Release Bundle.

draft

boolean

Whether this is a draft Release Bundle version.

tag

string

The tag assigned to the Release Bundle version, if any.

created

string

The timestamp of when creation was initiated in ISO 8601 format.

Sample Response:

{
    "repository_key": "release-bundles-v2",
    "release_bundle_name": "multiRB",
    "release_bundle_version": "1.0.3",
    "draft": "false",
    "created": "2025-04-29T14:17:21.587Z",
    "tag": "nightly"
}

Response Body (dry run):

A successful response for a dry run includes the following parameters:

Parameter

Type

Description

repository_key

string

The repository where the Release Bundle was created. The default location is release-bundles-v2. When working in the scope of a specific project, the default location is [project_name]-release-bundles-v2.

release_bundle_name

string

The name of the newly created Release Bundle.

release_bundle_version

string

The version of the newly created Release Bundle.

draft

boolean

Whether this is a draft Release Bundle version.

tag

string

The tag assigned to the Release Bundle version, if any.

artifacts

object

The artifacts contained in the Release Bundle as generated by the dry run.

artifacts.path

string

The full path of the artifact.

artifacts.sha256

string

The SHA256 checksum of the artifact.

artifacts.package_type

string

The package type of the artifact (for example, Maven, Docker).

artifacts.package_name

string

The package name of the artifact.

artifacts.package_version

string

The package version of the artifact.

artifacts.size

integer

The size of the artifact in bytes.

summary

object

Summary information about the artifacts in the Release Bundle.

summary.artifact_count

integer

The total number of artifacts in the Release Bundle.

Note: The response is limited to a maximum of 1000 artifacts.

summary.total_size

integer

The total size of the Release Bundle in bytes.

Sample Response (dry run):

{
    "repository_key": "release-bundles-v2",
    "release_bundle_name": "Multi-Bundle",
    "release_bundle_version": "3.0.0",
    "artifacts": [
        {
            "path": "release-bundles-v2/bundle-9567994892/v-9751670631/artifacts/maven/org/pom/test/multi1/1.1/multi1-1.1-sources.jar",
            "sha256": "ddf2f7b01600275ab94084db143d4f14b9d73f224b0f35a8f93d378138c60ff6",
            "package_type": "maven",
            "package_name": "org.pom.test:multi1",
            "package_version": "1.1",
            "size": 829
        },
        {
            "path": "release-bundles-v2/bundle-9567994892/v-9751670631/artifacts/maven/org/pom/test/multi1/1.1/multi1-1.1-tests.jar",
            "sha256": "04b8e7ec79cea1b28a3b54abce8aedc6a5649a58eeaf53ffd327b4db17e791c1",
            "package_type": "maven",
            "package_name": "org.pom.test:multi1",
            "package_version": "1.1",
            "size": 1068
        },
        {
            "path": "release-bundles-v2/bundle-9567994892/v-9751670631/artifacts/maven/org/pom/test/multi1/1.2/multi1-1.2.jar",
            "sha256": "0bd5d1e46180436132a86d3d3ec9ddfd7ab0023ac4648f4448fde6e41fffae54",
            "package_type": "maven",
            "package_name": "org.pom.test:multi1",
            "package_version": "1.2",
            "size": 1043
        }
    ],
    "summary": {
        "artifact_count": 3,
        "total_size": 2940
    }
}

Additional examples:

For additional examples, click here.

Status Codes:

Code

Meaning

Description

200

Submitted (async)

The creation request was submitted successfully.

[when performing a dry run] The dry run was completed successfully.

201

Created (sync)

The Release Bundle version was created successfully.

400

Bad Request

The request body is malformed, a required parameter is missing, or the AQL is invalid.

401

Bad Credentials

Authentication failed. A valid token is required.

403

Permission Denied

The user does not have write permissions for the target repository.

404

Not Found

A specified resource (source artifact, build, package, or repository) could not be found.

409

Already Exists

A Release Bundle with the same name and version already exists in the target repository.