stenjo / devops-metrics-action Goto Github PK
View Code? Open in Web Editor NEWGithub action to calculate dora metrics
License: MIT License
Github action to calculate dora metrics
License: MIT License
Would be good with a description on how to create badges for each metric where badge colour indicates if metric is within limits.
What happens when there are no releases?
Add handling of these situations and add better error checking for data
When calculating lead-time, all PR's are counted - including release-please's chore(main): release x.x.x. These issues should maybe not be counted as they are automatic and does not really connect to delivery rate.
Suggest to add a feature that enables only features and fixes to be counted.
/repos/stenjo/dora/issues?q=state=all
On Github projects it is feasible that the issues may be used as the source.
Have to calculate time from issue is started working on until closed and deployed in main.
Access to issues and releases requires a token.
Add option to specify this token.
Some times issues managed by projects are created on more than one repo. Make sure action handles issues and releases on more than one repo.
Suggested format of input:
repo: ['repo1','repo2']
or
repo:
- repo1
- repo2
Simply count the issues marked as bug over the number of deploys
Number of bugs are all open + closed ones during the same period as deploys are counted
Currently change failure rate counts bugs and divides by releases in same period. This is not accurate when a deploy causes several bugs. A failed deploy counts as one regardless of how many bugs it creates.
When having a larger number of issues, all issues must be fetched in pages as the maximum delivered for one page is 100 issues.
gh api -H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
-XGET /repos/stenjo/devops-metrics-action/issues -f state=all -f per_page=100 -f page=2
Lead time is the average time between the first commit for a change (pull request) and the release in which the change is deployed, for all changes the last month.
Add option to list the events (first commit, pr, release) that the metric is based on, by setting logging flag to true that produces the list as action output that can be uploaded for inspection.
@stenjo https://github.com/stenjo/devops-metrics-action/blob/main/action.yml#L40
Since action used node 16(deprecated). It is giving warning to update it to v20
Rate of deploys (tagged releases) per week.
Decimal number. Elite performing teams has 5 as target (daily- or on-demand release)
The basis for this metric is the number of releases cretated last month, divided by 30/7, or more specificly:
Math.round(this.monthly() * 700) / 3000
Add option to get list of events (releases) this is based on, by setting LOGGING option to true, that enables a list output from action that can be uploaded for inspection.
Currently action requires both owner and repository to be set
Get tags from repo the last month and calculate releases per week
Add description of usage
Just a test feature to check how this is connected to commits and main tags
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.