Bonjour @realaravinth,
I’d like to propose to you that we work together on a JSON Schema to document and validate the data structures used by Gitea. So that ForgeFlux & forgefriends & Gitea could use the same format to convert data from one forge to another.
To illustrate what I mean, I created a branch in forgefriends with a commit that adds JSON Schema for an issue, a label and a reaction. There exist libraries / commands to use these schemas to:
- Create documentation (see this documentation example created from this JSON schema for instance)
- Validate the JSON file to verify it does not contain garbage.
The immediate benefits of this work would be:
- To make Gitea a little more robust by validating the content of the JSON file and potentially detect problems that would show if corrupted files are read and interpreted.
- For ForgeFlux & forgefriends to agree on a common format instead of working on different formats.
- For ForgeFlux & forgefriends to immediately use the Gitea code that exists to export a project originating from Gitea, GitHub, GitLab and Gogs, and import a project into Gitea and maybe soon into GitHub as well.
Regarding the last point, although ForgeFlux is implemented in python and cannot use Gitea as a library, it can conveniently use the gitea dump-repo/restore-repo
command line to do the same.
What do you think?