These examples may require an Artifactory integration or JFrog Platform Access Token Integration and/or a Distribution integration.
Example 1: AQL with build name and number
resources:
- name: myAqlResource
type: Aql
configuration:
sourceArtifactory: myArtifactoryIntegration
query: items.find({"@build.name":{"$eq":"buildName"}})
- name: myReleaseBundle
type: ReleaseBundle
configuration:
sourceDistribution: myDistributionIntegration
name: name
version: '1'
pipelines:
- name: pipelineToUpdateResource
steps:
- name: myBashStep
type: Bash
configuration:
integrations:
- name: myArtifactoryIntegration
outputResources:
- name: myAqlResource
execution:
onExecute:
- write_output myAqlResource query='items.find({"@build.name":{"$eq":"myBuildName"}})'
- name: CreateReleaseBundlePipeline
configuration:
inputResources:
- name: myAqlResource
outputResources:
- name: myReleaseBundle
steps:
- name: myCreateReleaseBundleStep
type: CreateReleaseBundle
configuration:
releaseBundleName: ${JFROG_CLI_BUILD_NAME}
releaseBundleVersion: ${run_id}
dryRun: trueExample 2: AQL with file name
resources:
- name: myAqlResource
type: Aql
configuration:
sourceArtifactory: myArtifactoryIntegration
query: 'items.find({"$and": [{"repo": {"$eq": "example-repo-local"}}, {"name": {"$match": "myFile.txt"}}]})'
- name: myReleaseBundle
type: ReleaseBundle
configuration:
sourceDistribution: myDistributionIntegration
name: name
version: '1'
pipelines:
- name: myCreateReleaseBundlePipeline
steps:
- name: myCreateReleaseBundleStep
type: CreateReleaseBundle
configuration:
releaseBundleName: ${JFROG_CLI_BUILD_NAME}
releaseBundleVersion: ${run_id}
dryRun: false
inputResources:
- name: myAqlResource
outputResources:
- name: myReleaseBundleExample 3: AQL to add an additional property to the artifacts in the release bundle
resources:
- name: myAqlResource
type: Aql
configuration:
sourceArtifactory: myArtifactoryIntegration
query: 'items.find({"$and": [{"repo": {"$eq": "example-repo-local"}}, {"name": {"$match": "myFile.txt"}}]})'
addedProperties:
myRunNumber: ${run_id}
- name: myReleaseBundle
type: ReleaseBundle
configuration:
sourceDistribution: myDistributionIntegration
name: name
version: '1'
pipelines:
- name: myCreateReleaseBundlePipeline
steps:
- name: myCreateReleaseBundleStep
type: CreateReleaseBundle
configuration:
releaseBundleName: ${JFROG_CLI_BUILD_NAME}
releaseBundleVersion: ${run_id}
dryRun: false
inputResources:
- name: myAqlResource
outputResources:
- name: myReleaseBundleExample 4: AQL to map one path to another
resources:
- name: myAqlResource
type: Aql
configuration:
sourceArtifactory: myArtifactoryIntegration
query: 'items.find({"$and": [{"repo": {"$eq": "example-repo-local"}}, {"name": {"$match": "myFile.txt"}}]})'
mappings:
- name: myMapping
input: example-repo-local/myFile.txt
output: example-repo-local/myFile_2.txt
- name: myReleaseBundle
type: ReleaseBundle
configuration:
sourceDistribution: myDistributionIntegration
name: name
version: '1'
pipelines:
- name: myCreateReleaseBundlePipeline
steps:
- name: myCreateReleaseBundleStep
type: CreateReleaseBundle
configuration:
releaseBundleName: ${JFROG_CLI_BUILD_NAME}
releaseBundleVersion: ${run_id}
dryRun: false
inputResources:
- name: myAqlResource
outputResources:
- name: myReleaseBundleExample 5: AQL mapping paths using capturing groups in the input
resources:
- name: myAqlResource
type: Aql
configuration:
sourceArtifactory: myArtifactoryIntegration
query: 'items.find({"$and": [{"repo": {"$eq": "example-repo-local"}}, {"name": {"$match": "myFile.txt"}}]})'
mappings:
- name: myMapping
input: example-repo-local/myFile.(.*)
output: example-repo-local/myFile_2.$1
- name: myReleaseBundle
type: ReleaseBundle
configuration:
sourceDistribution: myDistributionIntegration
name: name
version: '1'
pipelines:
- name: myCreateReleaseBundlePipeline
steps:
- name: myCreateReleaseBundleStep
type: CreateReleaseBundle
configuration:
releaseBundleName: ${JFROG_CLI_BUILD_NAME}
releaseBundleVersion: ${run_id}
dryRun: false
inputResources:
- name: myAqlResource
outputResources:
- name: myReleaseBundleExample 6: pipelines.yml
resources:
- name: Aql_ART_1
type: Aql
configuration:
sourceArtifactory: myArtifactoryIntegration
query: items.find({"@build.name":{"$eq":"art"}})
addedProperties:
key1: value1
key2: value2
mappings:
- name: mapping1
input: IN
output: test1
- name: mapping2
input: IN
output: test2
pipelines:
- name: pipelines_ART_1
steps:
- name: step_ART_1
type: PowerShell
configuration:
nodePool: win_2019
inputResources:
- name: Aql_ART_1
trigger: true
execution:
onExecute:
- write_output "executing step..."