Menu

Event Format

Rick Copeland ☕ Dave Brondsema

This page defines the various types of events logged to Zarkov by SourceForge.

Basic Format

Events are sent to Zarkov over ZeroMQ "push" sockets and should use BSON as their message encoding. The fields used in all messages are as follows:

  • timestamp: UTC time of the event (type: bson datetime)
  • type: basic event type (create/modify/login/commit/etc)
  • context: object containing context information (user, project, tool, etc)
    • user: username of logged-in user
    • neighborhood: neighborhood name (if applicable)
    • project: project shortname (if applicable)
    • tool: tool name ('Wiki', 'Tickets', etc.)
    • mount_point: the mount point of the tool (if applicable)
    • is_project_member: flag indicating that the 'user' above is a project admin/maintainer/developer/member
  • extra: any extra information needed to categorize the event

Additionally, there is a $command field which is used optionally to tell Zarkov that the message is already validated (timestamp inserted, etc) and that Zarkov does not need to do anything:

  • $command: "event_noval" if the event is not to be validated, missing or nill otherwise.

Below, we will define any deviations from this standard for various messages.

Artifact create/modify/delete messages

These messages are generated by Allura whenever artifacts are changed.

  • type: 'create' | 'modify' | 'delete'
  • extra: the index_id of the artifact. (e.g. for a ticket, this would start with the string 'forgetracker/model/ticket/Ticket')

Login messages

These messages should be generated whenever a user logs in to any part of SourceForge

  • type: 'login'
  • context: only 'user' is relevant

Related

Home: Home

Discussion

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB