Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom fields #222

Open
fioddor opened this issue Aug 30, 2023 · 0 comments
Open

Custom fields #222

fioddor opened this issue Aug 30, 2023 · 0 comments

Comments

@fioddor
Copy link
Contributor

fioddor commented Aug 30, 2023

Just wanted to save this explanation. Not sure of where in the tutorial to insert it:

The fields in GrimoireLab come to be through different paths:

  • Most are just retrieved from the data sources. We call this data raw data.
  • The enrichment process that runs after the data load (usually called by Morderd for similar) adds more standard-calculated fields. We call this data enriched data.
  • Then, the user can inject fields via configuration (instead of retrieving them directly or indirectly from the sources). We can call these configuration-injected fields "tags".

Currently, all tags are defined via the project.json file).

Some tags have standard field names. The user only injects their arbitrary values.
Some other tags are user-defined fields. The user injects both their values and the name of these fields.

Grimoirelab can inject user-defined data through at least 3 paths:

  • The project field. It holds the name of the projects. Their values (project names) and their applicabilities (which data source belongs to each project) are defined in the projects.json file.
  • The meta member of each project (set in the projects.json file).
    • It generates the cm_* fields we find in every item retrieved from sources (commits, issues, PRs, repos, areas_of_code, ...) attributed to that project.
    • All these project-level custom fields are marked with a cm_ appendix. So, if you ask for a my_tag field in the meta member of a project you get a cm_my_tag field.
  • A standard field called labels.
    • It is a list of values.
    • We can inject a user-defined list of values per repository.
    • This, again, propagates to many items retrieved from sources (commits, issues, PRs, repos, areas_of_code, ...) attributed to that repository.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant