首页 > 解决方案 > Jenkins:在 groovy scrpt 中运行 curl 命令

问题描述

我有一个要求,我需要将 jenkins 从站的状态发送到 influxdb。为此,我需要从 Jenkins Groovy 脚本运行 curl 命令。

我的脚本如下所示:

int value=0;
for (Node node in Jenkins.instance.nodes) {
   if (!node.toComputer().online){
   value=1;
   }
   else{
   value=0;
   }

curl -i -XPOST http://localhost:8086/write?db=jenkins_db&u=user&p=pass --data-binary 'mymeas,tag=$node.nodeName status=$value'

但是运行脚本后的值不会出现在 influxdb 中。知道这里可能有什么问题吗?

PS我也试过

def response = [ 'bash', '-c', "curl", "-i", "-XPOST", "http:/localhost:8086/write?db=jenkins_db&u=user&p=pass", "--data-binary", "\'mymeas tag=$node.nodeName status=$value"\' ].execute().text

标签: jenkinsgroovy

解决方案


你只需要回显你的 curl 命令

echo curl -i -XPOST http://localhost:8086/write?db=jenkins_db&u=user&p=pass --data-binary 'mymeas,tag=$node.nodeName status=$value'


推荐阅读