mirror of
https://github.com/microsoft/onefuzz.git
synced 2025-06-16 03:48:09 +00:00
@ -10,6 +10,7 @@ from typing import Optional
|
||||
|
||||
from onefuzztypes.events import Event, EventMessage, get_event_type
|
||||
|
||||
from .azure.creds import get_instance_id, get_instance_name
|
||||
from .webhooks import Webhook
|
||||
|
||||
EVENTS: Queue = Queue()
|
||||
@ -35,6 +36,11 @@ def get_events() -> Optional[str]:
|
||||
def send_event(event: Event) -> None:
|
||||
event_type = get_event_type(event)
|
||||
logging.info("sending event: %s - %s", event_type, event)
|
||||
event_message = EventMessage(event_type=event_type, event=event)
|
||||
event_message = EventMessage(
|
||||
event_type=event_type,
|
||||
event=event,
|
||||
instance_id=get_instance_id(),
|
||||
instance_name=get_instance_name(),
|
||||
)
|
||||
EVENTS.put(event_message)
|
||||
Webhook.send_event(event_message)
|
||||
|
@ -21,6 +21,7 @@ from onefuzztypes.webhooks import WebhookMessageLog as BASE_WEBHOOK_MESSAGE_LOG
|
||||
from pydantic import BaseModel
|
||||
|
||||
from .__version__ import __version__
|
||||
from .azure.creds import get_instance_id, get_instance_name
|
||||
from .azure.queue import queue_object
|
||||
from .azure.storage import StorageType
|
||||
from .orm import ORMMixin
|
||||
@ -169,13 +170,22 @@ class Webhook(BASE_WEBHOOK, ORMMixin):
|
||||
event_id=event_message.event_id,
|
||||
event_type=event_message.event_type,
|
||||
event=event_message.event,
|
||||
instance_id=event_message.instance_id,
|
||||
instance_name=event_message.instance_name,
|
||||
)
|
||||
message.save()
|
||||
message.queue_webhook()
|
||||
|
||||
def ping(self) -> EventPing:
|
||||
ping = EventPing(ping_id=uuid4())
|
||||
self._add_event(EventMessage(event_type=EventType.ping, event=ping))
|
||||
self._add_event(
|
||||
EventMessage(
|
||||
event_type=EventType.ping,
|
||||
event=ping,
|
||||
instance_id=get_instance_id(),
|
||||
instance_name=get_instance_name(),
|
||||
)
|
||||
)
|
||||
return ping
|
||||
|
||||
def send(self, message_log: WebhookMessageLog) -> bool:
|
||||
@ -213,7 +223,12 @@ def build_message(
|
||||
) -> Tuple[bytes, Optional[str]]:
|
||||
data = (
|
||||
WebhookMessage(
|
||||
webhook_id=webhook_id, event_id=event_id, event_type=event_type, event=event
|
||||
webhook_id=webhook_id,
|
||||
event_id=event_id,
|
||||
event_type=event_type,
|
||||
event=event,
|
||||
instance_id=get_instance_id(),
|
||||
instance_name=get_instance_name(),
|
||||
)
|
||||
.json(sort_keys=True, exclude_none=True)
|
||||
.encode()
|
||||
|
Reference in New Issue
Block a user