2017-05-12 5 views
0

Ich öffne eine Rails-Konsole, um zu versuchen, HTTParty zu verwenden, um eine Nachricht mithilfe Web-Hooks an einen freien Kanal zu senden.Slack Webhook in Rails

Es funktioniert alles, wenn ich Postman benutze, aber es funktioniert nicht, wenn ich HTTParty versuche. In Postman poste ich einfach auf die URL mit Form-Daten mit einem key von payload und value von:

{"channel" => "#some_channel", "username" => "webhookbot", "text" => "Testing message", "icon_emoji" => ":ghost:"} 

In den Schienen Konsole Ich versuche:

HTTParty.post(webhook_url, body: {"channel" => "#some_channel", "username" => "webhookbot", "text" => "Testing message", "icon_emoji" => ":ghost:"}, :headers => { 'Content-Type' => 'application/x-www-form-urlencoded'}) 

Ich bekomme diese Fehlermeldung:

Errno::ECONNREFUSED: Connection refused - connect(2) for "hooks.slack.com" port 443 

Ist dies ein Proxy-Problem?

+0

Haben Sie versucht, mit "Nutzlast" anstelle von "Körper"? –

+0

ja ich habe das versucht und es hat nicht funktioniert ... – user3437721

Antwort

0

Versuchen Sie folgendes:

HTTParty.post(webhook_url, 
    body: { 
    "channel" => "#some_channel", 
    "username" => "webhookbot", 
    "text" => "Testing message", 
    "icon_emoji" => ":ghost:" 
    }.to_json, 
    headers: { 
    'Content-Type' => 'application/json' 
    } 
) 
+0

immer noch rrno :: ECONNREFUSED: Verbindung abgelehnt - connect (2) für "hooks.slack.com" Port 443 - Ich kann nicht undtstsand warum es gut in Postman und funktioniert nicht in einer Schienenkonsole. Ist die Anfrage nicht 100%? – user3437721

+0

Versuchen Sie es mit dem Flag "verify: false" gesetzt. –

+0

Auch macht dieses Juwel macht locker Benachrichtigungen super einfach: https://github.com/stevenosloan/slack-notifier –