我想创建的工作流程
build.properties
文件。build.properties
将它们作为环境变量注入,因此可以在作业中的任何位置使用它们。
我得到了这样的例外:
[EnvInject] - Loading node environment variables.
Building remotely on master-worker (lucid) in workspace /data/jenkins/workspace/QA-350_MultiJob
[QA-350_MultiJob] $ /bin/sh -xe /tmp/hudson757569632298940894.sh
+ curl --user **** -X POST --header Content-Type: application/json --header Accept: */* -d {
"description": "string",
"mode": "DEFAULT",
"name": "string",
"start_time": "2015-11-05T13:26:40.626Z",
"tags": [
"string"
]
} https://****
+ jq .id
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 144 0 286 --:--:-- --:--:-- --:--:-- 286
0 33 0 33 0 144 49 215 --:--:-- --:--:-- --:--:-- 0
+ ID = "563c8d3ae4b0bf061cd3d999"
/tmp/hudson757569632298940894.sh: 1: ID: not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE
答案 0 :(得分:4)
只要您在“属性文件路径”中指向的文件包含变量分配(例如ID = 123),就不需要在“属性内容”中添加任何内容。
您应该将文件中的变量加载到作业的环境中。
答案 1 :(得分:4)
对此表示欢迎,并且遇到了非常类似的问题。
出现相同的错误消息,通知我未找到我尝试创建的变量名(此问题的通知正在尝试创建名为ID的变量,并且该错误告诉我们“未找到ID”)
如果您删除“ ID = $ {curl”周围的空格,它将解决此问题。
shell脚本中的变量创建不需要使用空格。 示例:MY_VARIABLE =“我的值”