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)'