Here are descriptions of Statements that can be sent to the Jisc Learning Data Hub, full Statement examples, and data needed to create the Statement. As far as possible all entities are the same across all the Statements, these reusable parts of Statements are linked from templates and can be found in the Common Structures page which contains all common patterns used across different Statements. If an entity is not reusable then properties are described in the Statement template.
The simplest way to contribute to the xAPI service is as follows:
Add an issue to the issue tracker to alert everyone to what you are working on and why.
Tag the issue with the version milestone you'd like the patch to be part of.
If the feature is for this version then make an edit or add a file in this repository, and save it to your own branch. If you prefer, you can fork the whole repository and work in your own repository. Otherwise create a feature-branch to work in.
If you are creating a new Statement in a recipe then check if a generic template will help. If you are creating a new Statement then consider creating a generic one first.
Send a pull request once you're done.
The pull request will be discussed at one of our regular meetings and either merged, or kept in the queue, depending on whether more work is required.
You can do all this through the Github GUI, but you're welcome to use any other git tool you prefer.
If the need arises, particular versions will get their own branches, but until that time, everything is merged into the main branch. Releases will be made after the group has come to an agreement.