代码之家  ›  专栏  ›  技术社区  ›  Gaz Winter

在VSTS部署到App Center构建任务中格式化发行说明

  •  4
  • Gaz Winter  · 技术社区  · 6 年前

    我花了大约一个小时来寻找这个问题的答案,但一无所获,所以我希望这里的人能帮助我。

    出身背景

    我们目前正在试验部署Xamarin。使用 App Center Distribute 在VSTS中生成任务。

    其中一个设置允许您指向项目中的发行说明文件,当您点击该文件时,该文件将作为发送的电子邮件的一部分包含在app center发行信息中。此文件必须为UTF-8格式。

    问题

    有没有一种方法可以真正格式化这个文件,让它显示得很好?我试着用HTML,但没用。仅使用纯文本文件时,它会忽略文本文件中的任何换行符,并将所有文本显示为连续字符串。

    如果不可能的话,我并不想要任何突破性的格式化,只是想知道是否有一种格式化方法,至少不是所有的文本都是一行。

    提前感谢

    加雷斯

    3 回复  |  直到 6 年前
        1
  •  5
  •   greg.arnott    5 年前

    你可以 从技术上讲 使用降价设置格式。不幸的是,微软认为发行说明应该是单行字符串,删除显式和隐式换行符,以及转义 \n .这里是YAML任务的简化版本,显示 releaseNotesInput 正在使用YAML多行添加 block scalar 向每行添加换行符的语法。

    - task: AppCenterDistribute@1
      displayName: AppCenter Distribution iOS Test
      inputs:
        serverEndpoint: AppCenterConnectionName # known as ConnectionName in DevOps
        appSlug: '{name|org}/{app|project}'
        appFile: '$(build.artifactStagingDirectory)/**/*.ipa'
        releaseNotesOption: 'input'
        releaseNotesInput: |+
          #AppCenterDistribute (iOS Test)\n
          \n
          - **Build Number**  : $(build.buildNumber)
          - **Build started** : $(system.pipelineStartTime)
          - **Source Branch** : $(build.sourceBranch)
    

    不幸的是,这一点可以归结为:

    #AppCenterDistribute (Android Test)\n\n - Build Number : 20181115.13\n - Build started : 2018-11-15 11:42:44+11:00\n - Source Branch : refs/heads/feature/example\n
    

    仅加粗标记格式 ** 包装的文本实际解析正确。

    我会继续试验。。。但我必须说,这是我遇到过的最悲哀的降价格式支持。

    使现代化

    这是有效的:

        releaseNotesInput:  |+
    
          AppCenterDistribute (iOS UAT)
          ---
    
          - **Build Number**  : $(build.buildNumber)
          - **Build started** : $(system.pipelineStartTime)
          - **Source Branch** : $(build.sourceBranch)
    

    # 因为标题不起作用,而 --- 做 这个 |+ 语法允许必要的空行触发列表等。

        2
  •  2
  •   Daniel P    6 年前

    你可以用 Markdown 用于格式化。通过查看格式良好的帖子,你似乎已经知道如何使用它了

        3
  •  0
  •   Stijn VDB    5 年前

    我在尝试添加换行符时遇到了同样的问题。解决方案是在release_notes字段中使用双换行符( \n\n 而不是 \n ).在我的例子中,我将release\u notes字段作为json发送,因此 \\n\\n .