This page defines the various types of events logged to Zarkov by SourceForge.
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