Talend tREST コンポーネントを使って POST メソッドを実行する
「Talend tHttpRequestを使ってSlackのIncoming WebhookにPOSTリクエストを送信」で tHttpRequest コンポーネントを使ったのですが、同じような HTTP リクエストができるコンポーネントとして tREST コンポーネントがあるので、 tREST コンポーネントの使い方を確認します。 ここでは、tREST コンポーネントを使って mattermost に投稿してみます。
確認環境:
- Talend Open Studio 6.3
- mattermost 3.8.2
tREST コンポーネントの使い方
Talend のジョブを作成し、 tREST コンポーネントを配置します。
tREST コンポーネントの設定をします。
URL 項目に mattermost で生成された内向きのウェブフック用 URL を設定します。 HTTPメソッドに、POSTを指定するとHTTPボディ項目が表示されるので、次のように設定します。
"{\"text\":\"Hello, this is some text\nThis is more text. :tada:\"}"
ジョブを実行して、メッセージが投稿されれば成功です。
以上で Talend のジョブができました。
tREST コンポーネントを実行すると、Body カラムと ERROR_CODE カラムに値がセットされます。リクエストに成功すると Body カラムに「OK」がセットされ、ERROR_CODE カラムには何も設定されません。また、エラーが発生した場合 Body カラムに返却されるメッセージがセットされ、ERROR_CODE カラムにはステータスコードがセットされます。
例えば、URLを間違えた場合 Body カラムには次のようなメッセージが返され、ERROR_CODEには「400」が返されました。
{"id":"web.incoming_webhook.invalid.app_error","message":"不正なウェブフックです","detailed_error":"","request_id":"foe593skt3fmfp1ey111ynykta","status_code":400}
以上で tREST コンポーネントで POST ができるようになります。