2017-03-31 6 views
0

groovyスクリプト内でカールリクエストを送信するのが難しく、誰かが正しい方向に向けるかどうかを調べたいと思っていました。groovyスクリプトでカールリクエストを送信する

無効なペイロードとグロービングエラーが発生し続けます。私は私のターミナル内で次のならば、それは

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を救うことができればきれいになりますが、私は、私がダウンし、再び

の書式を設定する任意の助けをすることも(ペイロード・エラー)の問題を推測していた

感謝を高く評価

+0

最も単純な方法 - https://github.com/jwagenleitner/groovy-wslite – Rao

+0

私はちょうどそのことを知っています...ありがとう、私たちが話すようにしよう:-) – Richlewis

答えて

1

--dataの後にjson(引用符を使用)の周りにラップが表示されません。それが理由かもしれません。 jsonの周りに一重引用符を使用することもできます(他のカールコマンドに似ています)。

ファイルにjsonを使用し、--data-binaryを使用してファイルから投稿するオプションがあります。例えば以下のようなものです。

--data-binary "@my.json" 

最後に、もちろん、カールのような同様のことを行うGroovyクライアント(またはライブラリ)を使用することもできます。私はグルーヴィーについてよく知らない。

関連する問題