Azure devops 从生成中自动设置Release.ReleaseDescription。(Azure devops管道)

Azure devops 从生成中自动设置Release.ReleaseDescription。(Azure devops管道),azure-devops,Azure Devops,下午好,我需要这个案例的帮助,我想在我的管道构建中生成一个版本描述,我试图在构建中设置变量,我使用了一个组变量,但没有成功,我们的想法是生成一个构建,其中包含对所包含内容的描述,并且在生成新版本时,变量release.releasescription中已经有了值。releasescription,我有一个发送批准的空闲任务,最好有这个描述,以便批准的人看到它包含的内容。此手动过程当前在生成发布并放置描述时执行。变量组只能在构建管道到发布管道之间共享具有静态值的变量。然而,有一个扩展任务工具可以完

下午好,我需要这个案例的帮助,我想在我的管道构建中生成一个版本描述,我试图在构建中设置变量,我使用了一个组变量,但没有成功,我们的想法是生成一个构建,其中包含对所包含内容的描述,并且在生成新版本时,变量release.releasescription中已经有了值。releasescription,我有一个发送批准的空闲任务,最好有这个描述,以便批准的人看到它包含的内容。此手动过程当前在生成发布并放置描述时执行。

变量组只能在构建管道到发布管道之间共享具有静态值的变量。然而,有一个扩展任务工具可以完成这一任务。您可以按照以下步骤操作:

1、您首先需要搜索Azure DevOps服务的可变工具,并将其安装到您的组织中。 此任务包括两个子任务作为任务描述:

变量保存任务-在构建过程中,您可以将变量保存到与其他构建资产一起存储的json文件中

变量加载任务-在发布过程中,您可以加载保存的变量并获得访问权限

2,然后需要在构建管道中定义一个变量(BuildDescription)

3、添加powershell任务以向变量BuildDescription分配值

4、添加变量保存任务以将变量BuildDescription保存到json文件,并将其存储到build artifacts文件夹,该文件夹将作为aritfacts的一部分发布到azure devops服务器

5、在发布管道中,添加任务变量Load task,然后可以在发布管道中使用变量(BuildDescription)。

更新: 如上所述,无法在linux系统上运行任务。我们可以编写bash脚本来执行变量保存任务和变量加载任务

要保存变量,只需将上面的变量save task替换为bash task即可在下面的命令下运行

echo '{"des":"description"}' > variable-meta.json 
加载变量。添加bash任务以替换可变负载任务

val= ($(jq '.description' variable-meta.json))

echo "##vso[task.setvariable variable=BuildDescription]$val"

感谢您的及时回复,Azure DevOps服务的扩展任务工具变量Tools仅适用于windows,构建和发布的管道都在linux上运行,我已经尝试了几个扩展,我也遇到了同样的问题。还有其他想法吗?您可以通过bash脚本实现上述任务。其主要思想是将定义的描述变量保存到json文件中。从发布管道中的json文件中读取变量,并将变量设置为您定义的环境变量。请检查以上更新:您好,您是否尝试编写自己的bash脚本?进展如何,有更新吗?您好,谢谢您提供的信息,照您告诉我的做,同样的方法对变量Release不起作用。ReleaseDescription,目前我执行了一项任务,用sendgrid发送电子邮件,并将该变量的值放入批准邮件中,主要思想是在slack Azure Pipeline应用程序中采用Release.ReleaseDescription的值。0