Release Bundle Manifest for Builds

JFrog REST APIs

ft:sourceType
Paligo

Release Bundle manifests contain a specification of build modules with optional include and exclude patterns for artifacts and dependencies. The specification and optional patterns act as a selector Release Bundle v2 contents.

A manifest can have any filename and can be stored in any repository. Builds are connected to their manifests via the build property buildInfo.env.RBV2_MANIFEST.

Manifest Template

{
    "modules": [
        {
            "id": "{module-id}",
            "type": "{module-type}",     //"optional"
            "artifacts": {               //"optional"
                "include": [
                    "{ant-path-matcher}"
                ],
                "exclude": [
                    "{ant-path-matcher}"
                ]
            },
            "dependencies": {
                "include": [
                    "{ant-path-matcher}"
                ],
                "exclude": [
                    "{ant-path-matcher}"
                ]
            }
        }
    ]
}
Release Bundle Manifest Examples

Example 1: Select all contents of the module with the ID "module-001"

{
    "modules": [
        {
            "id": "module-001"
        }
    ]
}

Example 2: Select all contents of the module with the ID "module-002" that are of the type "maven"

{
    "modules": [
        {
            "id": "module-002",
            "type": "maven"
        }
    ]
}

Example 3: Select all contents of the module with the ID "module-003" that are of the type "maven", and the contents of "module-004", regardless of type. From "module-004" include those artifacts that end with the extension "*bin", and exclude all dependencies that start with "README".

{
    "modules": [
        {
            "id": "module-003",
            "type": "maven"
        },
        {
            "id": "module-004",
            "artifacts": {
                "include": [
                    "**.bin"
                ]
            },
            "dependencies": {
                "exclude": [
                    "README**"
                ]
            }
        }


    ]
}