我在Jenkins中使用JiraPlugin来生成ReleaseNotes,我在Jenkins中的构建作业使用批处理文件。
在执行的批处理文件中,当我发出set
时,我可以看到varibale与Jira发行说明一起存在。但它是多行的,以#
字符开头。
我的目标是做一个
echo %RELEASE_NOTES_JENKINS% > ReleaseNotes.txt
但这永远不会奏效。我尝试在变量周围使用!!
而不是%%
,但这也不起作用。当我尝试回显变量时,我得到ECHO is off.
。
同样,set
确实使用正确的内容显示它:
RELEASE_NOTES_JENKINS=# New Feature
- [XXXX-3525] Blahblahblah
- [XXXX-3268] Blahblahblah
- [XXXX-3119] Blahblahblah
# UNKNOWN
- [XXXX-3545] [security] Blahblahblah
...
Jenkins在Windows 7 Server上运行。 这是Windows批处理(cmd.exe)特有的,因为当Jenkins在Linux环境中运行时,只需将变量管道传输到文件即可。
关于如何使这项工作的任何想法?
答案 0 :(得分:2)
尝试
SET RELEASE_NOTES_JENKINS > ReleaseNotes.txt
而不是echo
。
答案 1 :(得分:0)
延迟扩展应该有效:
setlocal enableDelayedExpansion
echo !RELEASE_NOTES_JENKINS!>releasenotes.txt