在groovy脚本中发送curl请求
问题描述:
我在groovy脚本中发送curl请求时遇到困难,并且正在查看是否有人可以指引我朝着正确的方向。在groovy脚本中发送curl请求
我不断收到无效负载和通配错误。如果我做了我的终端内以下正常工作
curl -X POST -H 'Content-type: application/json' --data '{"attachments": [{"color": "#2A9B3A", "author_name": "Richard Lewis", "title": "MY Build Status", "title_link": "http://example.co.uk", "text": "Successful Build" }]}' https://hooks.slack.com/services/webhook
但是当我尝试和我的Groovy脚本内做到这一点失败
sh """#!/bin/bash -l
curl -X POST -H 'Content-type: application/json' --data {"attachments": [{"color": "#2A9B3A", "author_name": "Richard Lewis", "title": "My Build Status", "title_link": "http://example.co.uk", "text": "Successful Build" }]} "https://hooks.slack.com/services/T122JHEUW/webhook"
"""
我将如何正确格式化这个还是有更好的办法发送此请求?这将是清洁的,如果我能省则--data
的变量传递到我的请求,我知道,但我有问题,这也是(有效载荷错误),我想下再次
格式化任何帮助表示赞赏
谢谢
答
在--data
之后,我看不到任何环绕你的json(使用引号)的环绕。可能是这是一个原因。您可以尝试在您的json周围使用单引号(类似于您的其他curl命令,即--data '{...}'
)
有一个选项将json放入文件中,然后使用--data-binary
从文件中发布。例如下面的一个。
--data-binary "@my.json"
而且,最后,当然你可以使用任何类似curl的东西(或库)。我对groovy了解不多。
替代最简单的方法 - https://github.com/jwagenleitner/groovy-wslite – Rao
我只是碰到那个......谢谢,试着我们说话:-) – Richlewis