Jenkins Groovy构建后插件如果字符串中有括号,则manager.getLogMatcher正则表达式返回null。
Jenkins控制台输出包含字符串:
(origin/pull-requests/1365/merge)我需要从字符串1365中获取数字并使用:
manager.getLogMatcher("^origin/pull-requests/(.*?)/merge*").matches()它会失败,错误为:
Java.lang.NullPointerException: Cannot invoke method matches() on null object但如果我删除括号:
origin/pull-requests/1365/merge一切都很好。
发布于 2017-10-16 04:37:37
如果查看sources,您会发现所调用的方法最终可能返回一个null引用。因为你的正则表达式是无效的,所以我猜情况就是这样。您需要考虑括号-特别是当您的正则表达式以^开头时。以下两种方法应该可以工作:
"^\\(origin/pull-requests/(.*?)/merge.*"
^\\(origin/pull-requests/(.*?)/merge\\)https://stackoverflow.com/questions/46757798
复制相似问题