使用另一个变量值作为变量值

问题描述

我在几个项目中有变量替代了原始的 config 文件值。 例如,在项目 X 中,config 键是 smtpServ,而在项目 Y 中它是 smtp

我想在名为 smtpServer 的库集中有 1 个变量,该变量应进入 smtpServ(项目 X)和 smtp(项目 Y),这样我就可以把它放在 1 个地方。

这在“项目变量”视图中可行吗? (/projects/service-name/variables),还是我需要用 PS 脚本来完成?

解决方法

您可以在项目特定的变量中引用库变量值。

例如,在项目 X 中,您可以创建一个名为 smtpServ 的变量,其值为 #{smtpServer}。在项目 Y 中,您可以创建一个名为 smtp 的变量,其值为 #{smtpServer}

然后您可以更新 smtpServer 的值一次而不是 N 次。

我将在这里添加一个注意事项,对于像这样的通用名称,名称之间可能会发生冲突。假设项目 Z 已经有一个名为 smtpServer 的变量。在这种情况下,您不能使用值 #{smtpServer},因为这将是一个无限循环。同样,如果任何其他变量引用了 smtpServer,它将使用项目值而不是库集变量。此处的解决方案可能是从项目中删除 smtpServer 变量。

如果可能,我更喜欢给我的变量名称一个前缀。我可以将库变量命名为 global.smtpServer 并将其引用为 #{global.smtpServer} 以减少发生冲突的可能性。