繁体   English   中英

如何编写 shell 脚本来检查 URL 是否已启动并将其发布在 jenkins 自由式项目中的电子邮件中

[英]How to write shell script to Check URL is up and post it in Email in jenkins freestyle project

我正在尝试编写一个脚本,该脚本可以检查 URL 是否已启动,然后在电子邮件中发布控制台输出,说明“200 ok”站点已启动场景 2:仅在站点关闭时才触发电子邮件

下面的代码有什么问题

def msgbody='200 OK'

if ((curl -Is https://google.com | head -1) == '$msgbody')
   echo ==========Success
) else (
   echo ==========Fail
  )
  fi    (What is wrong in this code)

您应该从查看 URL 类开始。 http://docs.groovy-lang.org/latest/html/groovy-jdk/java/net/URL.html

这将允许您使用getText()在某个 URL 下阅读整个页面。 如果页面关闭,这将引发异常。

然后 Jenkins 应该会自动使工作失败。 在 Jenkins 作业定义中,您可以指定发送邮件的时间和方式。

编辑这不是有效的 Groovy: (curl -Is https://google.com | head -1) Groovy 无法使用|运行 shell 命令或构建管道就像 BASH 一样。 此外,您必须在 if 而不是()之后的 then/else 块周围使用{} 最后,Groovy 中没有fi

 if (condition) {
     ...then...
 } else {
     ...
 }

有关如何从 Groovy 脚本运行 shell 命令,请参阅Groovy 执行 shell 命令

并不是说您必须检查exitValue()的结果来确定命令是否失败。 0是成功。

你可以做这样的事情作为 Windows Batch(你需要安装 curl 并在 PATH 中配置它):

@echo off
curl --silent --output nul --show-error --fail http://domain-or-ip/context
if %ERRORLEVEL% EQU 0 (
   echo ==========Success
) else (
   echo ==========Fail
   exit /b %errorlevel%
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM