azure-devops - Azure通用工件中有没有一种方法可以显示带有换行符的包描述字段

标签 azure-devops azure-artifacts

这就是azure通用工件构建包描述的方式

    // Universal package Description: <SHA1> <BUILD_URL> <GIT_BRANCH>
    // Limit: 256 characters
    def shaID = env.GIT_COMMIT.substring(0,7)
    def description = "SHA1: ${shaID} BUILD_URL: ${env.BUILD_URL} GIT_BRANCH: ${env.GIT_BRANCH}"
    if( description.length() > 256 ) {
        description = description.substring(0,255)
    }

Azure cli 发布:

az artifacts universal publish --project "XXX" --scope project --feed "ProjectArtifacts" --name "package_name" --version "0.0.1" --path . --description "SHA1: 12345678 BUILD_URL: <url.........................> GIT_BRANCH: dummy_branch"

Azure 中的描述如下所示:

SHA1: 12345678 BUILD_URL: <url.........
................> GIT_BRANCH: dummy_branch

是否可以添加换行符以使描述更具可读性。

SHA1: 12345678
BUILD_URL: url
GIT_BRANCH: dummy_branch

最佳答案

恐怕无法通过将描述传递给 az artifacts 命令行的 --description 属性来完成。如果我将换行符 \n 放入描述字符串中,它将自动更改为 \\n

但是,有一种解决方法可以在 azure devops 管道中执行此操作。见下文:

首先我 create a azure pipeline ,然后我向 set the description as a variable 添加一个 powershell 任务。请参阅 powershell 任务中的以下脚本:

- powershell: |
    #use ";" as delimiter 
    $des= "SHA1: 12345678 ;BUILD_URL: <url.........................> ;GIT_BRANCH: dummy_branch"
    #replace delimiter ";" with "%0D%0A" which will be parsed as "\n"
    $newdes= $des -replace ';', "%0D%0A"

    #set the descrption to environment varialbe Description.
    Write-Host "##vso[task.setvariable variable=Description]$newdes"

然后我使用 UniversalPackages 任务发布到 Azure devops feed。

- task: UniversalPackages@0
  displayName: Universal Publish
  inputs:
    command: publish
    publishDirectory: '$(Build.ArtifactStagingDirectory)'
    vstsFeedPublish: '<projectName>/<feedName>'
    vstsFeedPackagePublish: '<Package name>'
    versionOption: custom
    versionPublish: '<Package version>'
    # refer to the description set in above powershell task by setting packagePublishDescription as $(Description)
    packagePublishDescription: '$(Description)'

请参阅上面管道发布的描述的下面屏幕截图。

enter image description here

您还可以向 Microsoft 开发团队报告此问题。

关于azure-devops - Azure通用工件中有没有一种方法可以显示带有换行符的包描述字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62911185/

相关文章:

angular - 具有多环境 Azure 的 VSTS 中 Angular4 应用程序的 CI CD 管道

android - Xamarin Android APP 在启动画面后崩溃

azure - 在没有 Kubernetes 的 Azure 上托管微服务

azure - 为什么 azure 工件包含所有引用第三个包

c# - 如何以编程方式从 Azure DevOps 下载最新的构建工件?

Azure DevOps (VSTS) - 如何将文件从代理 VM 复制到我的存储库中

linux - 如何使带有sql server和dotnet app的2个容器相互通信?

tfs - TFS CI构建-构建成功后更新自定义定义变量

azure - 如何将完整的 TFS 2012 代码以及历史记录迁移到 Azure 中的 VSTS

azure - 如何从工件 UI 下载通用工件