Description: Create a new Release Bundle v1 version.
Important
For information about creating a Release Bundle v2 version, see Create Release Bundle v2 Version.
Since: 1.0
Security: Authenticated users only. User must have matching Release Bundle writer permissions.
Usage: POST api/v1/release_bundle
Request headers: X-GPG-PASSPHRASE - String - the passphrase for the signing key, if applicable
Consumes: application/json
cURL Example
$ curl -u user:password -H "Accept: application/json" -H "Content-Type: application/json" -H "X-GPG-PASSPHRASE: keysPassphrase" -X POST "http://ARTIFACTORY_SERVER_HOSTNAME:8082/distribution/api/v1/release_bundle" -T createbundle.json
createbundle.json
{ "name": "", "version": "", "dry_run": true|false, "sign_immediately": true|false, "storing_repository": "repository-name"|null, "description": "", "release_notes": { "syntax": "markdown|asciidoc|plain_text", "content": "" }, "spec": { "queries": [ { "aql": "items.find({ \"repo\" : \"example-repo-local\" })", "query_name": "query-1" "mappings": [ { "input": "regex", "output": "$1/$2" } ], "added_props": [ { "key": "", "values": [""] } ], "exclude_props_patterns": [ "example_exclude_prop_pattern_1", "example_example_prop_pattern_2" ] } ] } }
Field | Type | Required | Default Value | Since | Description |
---|---|---|---|---|---|
| String | yes | N/A | 1.0 | Release bundle name |
| String | yes | N/A | 1.0 | Release bundle version |
| Boolean | no | false | 1.0 | If true, only parses and validates. Note: this parameter default was previously set to true in versions below 2.x. |
| Boolean | no | false | 1.2 | If true, automatically signs the release bundle version. |
| String | no | null | 1.3 | A repository name at source Artifactory to store release bundle artifacts in. If not provided, Artifactory will use the default one (requires Artifactory 6.5 or later). |
| String | no | null | 1.0 | Description of the release bundle |
| String | no | null | 1.0 | Describes the release notes for the release bundle version |
| String | no | "plain_text" | 1.0 | The syntax for the release notes |
| String | yes | N/A | 1.0 | The content of the release notes |
| Object | yes | N/A | 1.0 | Describes the specification by artifacts are gathered and distributed in this release bundle |
| String | deprecated | N/A | 2.0 | |
| List (Object) | yes | N/A | 1.0 | List of query objects to gather artifacts by. |
| String | yes | N/A | 1.0 | AQL query to gather the artifacts from Artifactory |
| String | no | "query-{index}" | 1.0 | A name to be used when displaying the query object Note that the release bundle query name length must be between 2 and 32 characters long and must start with alphabetic character followed by an alphanumeric or '_-.:' characters only. |
| List (Object) | no | null | 1.0 | List of added properties which will be added to the artifacts after distribution of the release bundle |
| String | yes | N/A | 1.0 | Property key to be created or updated on the distributed artifacts. |
| List (String) | no | [ ] | 1.0 | List of values to be added to the property key after distribution of the release bundle |
| List (Object) | no | null | 1.0 | List of mappings, which are applied to the artifact paths after distribution of the release bundle |
| String | yes | N/A | 1.0 | Regex matcher for artifact paths |
| String | yes | N/A | 1.0 | Replacement for artifact paths matched by the "input" matcher. Capture groups can be used as "$1". |
| List (String) | no | null | 2.5.0 | List of patterns for Properties keys to exclude after distribution of the release bundle. This will not an effect on the " |
Response status codes:
201 - Successfully created release bundle version
409 - Release bundle with same name and version already exists
X - Status code for error passed from Artifactory AQL
Response headers: N/A
Produces: application/json
Response
{ "name": "bundle-name", "version": "1.0", "state": "OPEN", "created": "2018-03-14T10:19:30.678Z", "artifacts": [ { "checksum": "0651d26f4cc6ed60cd9d273c440daf7617459d3f6e3d512188ff19d4933e4ff6", "source_repo_path": "conanx/demo/sample-conan1/1.0/testing/export/conanfile.py", "target_repo_path": "conanx/demo/sample-conan1/1.0/testing/export/conanfile.py", "props": [ { "key": "conan.package.version", "values": [ "1.0" ] }, ... ] }, { "xray_scan_info": { "blocked": boolean. "blocked_reason": string (null if not blocked) }, ... ], "archived": false }
NPM, Bower and NuGet Package Types
When working with package types such as NPM, Bower and NuGet, that require transitive dependencies, you will need to create two separate release bundles: 1. An artifacts release bundle, and 2. A dependencies release bundle.
You can generate the build.info using JFrog CLI and create the release bundles using the following dependency and artifact AQL queries:
Artifact AQL
builds.find({"name":"buileName", "number":"buildNumber"}).include("module.artifact.item")
Dependency AQL
builds.find({"name":"buildName", "number":"buildNumber"}).include("module.dependency.item")