Script Example
# Azure Feeds REST API Links:
# AzDo Feeds info - https://feeds.dev.azure.com/DevOpsSimpPlayground/artifactory-poc/_apis/packaging/feeds?api-version=6.1-preview.1
# poctest1 packages info - https://feeds.dev.azure.com/DevOpsSimpPlayground/artifactory-poc/_apis/packaging/feeds/0f22f986-93a4-4e9b-b0b6-86e4f49ac937/packages?api-version=6.1-preview.1
# poctest1 feed info - https://feeds.dev.azure.com/DevOpsSimpPlayground/artifactory-poc/_apis/packaging/feeds/0f22f986-93a4-4e9b-b0b6-86e4f49ac937?api-version=6.1-preview.1
trigger:
branches:
include:
- feature/addymlfile@akshat
pool:
vmImage: ubuntu-latest
jobs:
- job: JFrogUpload
steps:
- task: AzureKeyVault@2
inputs:
azureSubscription: 'azure-kv-jfrogtest'
KeyVaultName: 'akv-jfrogtest-eaus-1'
SecretsFilter: '*'
RunAsPreJob: true
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
# Write your PowerShell commands here.
# Define the Azure DevOps variables
$organization = "DevOpsSimpPlayground"
$project = "artifactory-poc"
$feedID = "0f22f986-93a4-4e9b-b0b6-86e4f49ac937"
$pat = '$(azdo-pat)' # Temp pat token - Will need to change it every time it expires
# Authenticate with Azure DevOps
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$pat"))
$feedsUrl = "https://feeds.dev.azure.com/$organization/$project/_apis/packaging/feeds/$feedID/packages?api-version=6.1-preview.1"
# Retrieve the list of packages from the Azure feed
$packagesResponse = Invoke-RestMethod -Uri $feedsUrl -Headers @{Authorization = "Basic $base64AuthInfo"} -Method Get
$packages = $packagesResponse.value
# Iterate through each package and copy it to JFrog Artifactory
foreach ($package in $packages) {
$packageName = $package.name
$packageVersion = $package.versions[0].version
Write-Host "Copying package $packageName version $packageVersion"
# Download the package from Azure feed
$packageUrl = "https://pkgs.dev.azure.com/$organization/$project/_apis/packaging/feeds/$feedID/nuget/packages/$packageName/versions/$packageVersion/content?api-version=7.0-preview.1"
$packagePath = "$(System.ArtifactsDirectory)/$packageName.$packageVersion.nupkg"
Invoke-RestMethod -Uri $packageUrl -Headers @{Authorization = "Basic $base64AuthInfo"} -OutFile $packagePath -Method Get
}
# Check to make sure we are in the correct directory.
# cd $(System.ArtifactsDirectory)
# ls
- task: JfrogCliV2@1
inputs:
jfrogPlatformConnection: 'crm-jfrog-platform-prod'
command: 'jf rt u "*" crm-test-maven-akshat-virtual/'
workingDirectory: '$(System.ArtifactsDirectory)'