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 コンポーネントを配置

tREST コンポーネントの設定をします。

URL 項目に mattermost で生成された内向きのウェブフック用 URL を設定します。 HTTPメソッドに、POSTを指定するとHTTPボディ項目が表示されるので、次のように設定します。

"{\"text\":\"Hello, this is some text\nThis is more text. :tada:\"}"
tREST コンポーネントの設定

ジョブを実行して、メッセージが投稿されれば成功です。

ジョブの実行結果

以上で 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 ができるようになります。