Azure devops 有没有办法将安全文件自动上载到azure devops库?

Azure devops 有没有办法将安全文件自动上载到azure devops库?,azure-devops,azure-pipelines,azure-devops-rest-api,Azure Devops,Azure Pipelines,Azure Devops Rest Api,我正在尝试将密钥作为安全文件上传到azure devops,以便在管道上下文中使用,我只发现手动上传,但这不是选项,是否有一种方法可以通过powershell或任何管道任务实现自动上传?请建议。您可以使用REST API执行以下操作: POST https://dev.azure.com/{organization}/{project}/_apis/distributedtask/securefiles?api-version=5.0-preview.1&name={fileName}

我正在尝试将密钥作为安全文件上传到azure devops,以便在管道上下文中使用,我只发现手动上传,但这不是选项,是否有一种方法可以通过powershell或任何管道任务实现自动上传?请建议。

您可以使用REST API执行以下操作:

POST https://dev.azure.com/{organization}/{project}/_apis/distributedtask/securefiles?api-version=5.0-preview.1&name={fileName}

Content-Type=application/octet-stream
请查看GitHUb

您甚至可以找到powershell脚本:

param
(
    [Parameter(Mandatory=$true)] [string] $PAT,
    [Parameter(Mandatory=$True)][ValidateNotNullOrEmpty()]$AzureDevOpsOrg,
    [Parameter(Mandatory=$True)][ValidateNotNullOrEmpty()]$AzureDevOpsProjectID,
    [Parameter(Mandatory=$true)] [string] $SecureNameFile2Upload,
    [Parameter(Mandatory=$true)] [string] $SecureNameFilePath2Upload
)

try{
    $base64AuthInfo=[Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f "",$PAT)))
    $uploadSecureFileURI="https://dev.azure.com/$AzureDevOpsOrg/$AzureDevOpsProjectID/_apis/distributedtask/securefiles?api-version=5.0-preview.1&name=$SecureNameFile2Upload"
    $headers = @{
        Authorization=("Basic {0}" -f $base64AuthInfo)
    }
    Invoke-RestMethod -Uri $uploadSecureFileURI -Method Post -ContentType "application/octet-stream" -Headers $headers -InFile "$SecureNameFilePath2Upload"
}
catch
{
    write-host -f Red "Error upload client certificate file [$SecureNameFilePath2Upload] to AzureDevOps secure file!" $_.Exception.Message
    throw "Error occors -> $_.Exception.Message"
}

谢谢。信息技术worked@BalaMurali酷。你能考虑一下我的回答是否对你有帮助?当然。这真的很有帮助,至少我在微软的文档中找不到。