enqueue webhook request
This commit is contained in:
parent
421b436803
commit
fadb45e369
2 changed files with 5 additions and 36 deletions
|
|
@ -51,10 +51,12 @@ class Webhook(Document):
|
|||
r = requests.post(self.request_url, data=json.dumps(data), headers=headers, timeout=5)
|
||||
frappe.logger().debug({"webhook_success":r.text})
|
||||
|
||||
def evaluate_webhook(doc, webhook):
|
||||
def enqueue_webhook(doc, webhook):
|
||||
webhook = frappe.get_doc("Webhook", webhook.get("name"))
|
||||
try:
|
||||
webhook.request(doc)
|
||||
except Exception as e:
|
||||
frappe.log_error(message=frappe.get_traceback(), title=e)
|
||||
frappe.throw(_("Error in Webhook"))
|
||||
frappe.throw(_("Error in Webhook"), exc=e)
|
||||
|
||||
def evaluate_webhook(doc, webhook):
|
||||
frappe.enqueue('frappe.integrations.doctype.webhook.webhook.enqueue_webhook', doc=doc, webhook=webhook)
|
||||
|
|
|
|||
|
|
@ -1,33 +0,0 @@
|
|||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||
# MIT License. See license.txt
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import frappe, requests, json
|
||||
from frappe import _
|
||||
|
||||
# Doc Events Webhook
|
||||
def doc_event_webhook(doc, method=None, *args, **kwargs):
|
||||
headers = {}
|
||||
data = {}
|
||||
filters = {
|
||||
"webhook_doctype": doc.get("doctype"),
|
||||
"webhook_docevent": method
|
||||
}
|
||||
webhooks = frappe.get_all("Webhook", filters=filters)
|
||||
webhook = frappe.get_doc("Webhook", webhooks[0].get("name")) if webhooks and len(webhooks) > 0 else None
|
||||
if webhook:
|
||||
if webhook.webhook_headers:
|
||||
for h in webhook.webhook_headers:
|
||||
if h.get("key") and h.get("value"):
|
||||
headers[h.get("key")] = h.get("value")
|
||||
if webhook.webhook_data:
|
||||
for k, v in doc.as_dict().items():
|
||||
for w in webhook.webhook_data:
|
||||
if k == w.fieldname:
|
||||
data[w.key] = v
|
||||
try:
|
||||
r = requests.post(webhook.request_url, data=json.dumps(data), headers=headers, timeout=5)
|
||||
frappe.logger().debug({"webhook_success":r.text, "webhook": webhook.as_json()})
|
||||
except Exception as e:
|
||||
frappe.logger().debug({"webhook_error":r.text, "webhook": webhook.as_json()})
|
||||
frappe.throw(_("Unable to make request"), exc=e)
|
||||
Loading…
Add table
Reference in a new issue