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

Redesign CI-jobs/pipelines metrics #5662

Closed
fniessink opened this issue Mar 16, 2023 · 1 comment
Closed

Redesign CI-jobs/pipelines metrics #5662

fniessink opened this issue Mar 16, 2023 · 1 comment
Labels
Metric(s) New, enhanced, or removed metric Spike Investigation to find out how to do or solve an issue

Comments

@fniessink
Copy link
Member

fniessink commented Mar 16, 2023

Context:

  • Jenkins has jobs with builds or pipelines with builds. In the case of pipelines, the pipelines contain jobs/stages.
  • GitLab has pipelines with runs. A pipeline can consist of jobs, which are stages of the pipeline. Each repo has one pipeline.
  • Azure DevOps has pipelines with runs. In Azure DevOps a repo can have multiple pipelines. Pipelines have stages (called jobs).

Currently, Quality-time has four metrics that use Jenkins/GitLab/Azure DevOps pipelines and/or jobs as source:

  • Failed CI-jobs
  • Unused CI-jobs
  • Job runs within time period
  • Source up-to-dateness (for jobs)

Problems:

  • The failed CI-jobs and unused CI-jobs both count jobs, only with different status, and could/should be one metric with a parameter to distinguish between the statuses.
  • As the terminology differs between the three CI-tools, things are pretty confusing. Does the failed CI-jobs also support pipelines? Does it support jobs within pipelines? Etc.

Solution:
Create a new metric, to ultimately replace to current metrics: "Builds". Builds are runs of pipelines or jobs. The metrics counts the number of builds of the pipelines and/or jobs specified by the user. Description: "The builds metric counts the number of builds of pipelines or CI-jobs. Builds can be filtered by name, status, trigger, time period, and branch."

Parameters:

  • The period in which to look for builds
  • The statuses of builds
  • The triggers of builds
  • The branches built
  • The name of the pipeline and/or job

Due to the confusing terminology, we first draft the data model before implementing the story.

Tasks:

  • Create the data model for the "builds" metric.
  • Review and refine
@fniessink fniessink added the Metric(s) New, enhanced, or removed metric label Mar 16, 2023
@fniessink fniessink added the Spike Investigation to find out how to do or solve an issue label Mar 30, 2023
@fniessink
Copy link
Member Author

This issue will be realized as part of #8972.

@github-project-automation github-project-automation bot moved this from Ready to Merged in Quality-time backlog Jun 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Metric(s) New, enhanced, or removed metric Spike Investigation to find out how to do or solve an issue
Projects
Archived in project
Development

No branches or pull requests

1 participant