incubator-devlake
incubator-devlake copied to clipboard
[Feature][Azure devops] Collect Boards from Azure DevOps to supply incidents data for DORA
Search before asking
- [X] I had searched in the issues and found no similar feature requirement.
Use case
We use Azure repos/boards/pipelines.
The documentation says:
DORA - Median Time to Restore Service
What is this metric?
The time to restore service after service incidents, rollbacks, or any type of production failure happened.
and
DORA - Change Failure Rate
What is this metric?
The percentage of changes that were made to a code that then resulted in incidents, rollbacks, or any type of production failure.
Our 'outage' of services can be seen in our board by viewing tickets with type 'Bug'. There's no other way to report an 'INCIDENT' in Azure devops board. When something is wrong you open a ticket with type='Bug'. You can also set priority (like Critical) and add some labels (like production).
I wish to see DORA metrics in Grafana ; 'Median time to restore service' and 'Change failure rate'.
Description
This should be possible by creating a different 'scrapper' for Azure Devops.
Related issues
No response
Are you willing to submit a PR?
- [ ] Yes I am willing to submit a PR!
Code of Conduct
- [X] I agree to follow this project's Code of Conduct
@keon94 I think we need to collect AzDo tickes/issues data for those metrics to work. Would you like to work on it? Thanks.
@KlemenDanfoss Hi, the Azure Devops plugin is written in Python, I would like to ask if you are interested in contributing such a feature? @keon94 could help if you have any questions.
@KlemenDanfoss Hi, the Azure Devops plugin is written in Python, I would like to ask if you are interested in contributing such a feature? @keon94 could help if you have any questions.
Sorry, probably can't help with a PR
Alright, let's collect votes first. cc. @keon94
This issue has been automatically marked as stale because it has been inactive for 60 days. It will be closed in next 7 days if no further activity occurs.
Anything new here?
@KlemenDanfoss No progress yet. You can try to share it with the Slack community and see if anyone is interested in it. Azure DevOps is implemented with Python btw.
This issue has been automatically marked as stale because it has been inactive for 60 days. It will be closed in next 7 days if no further activity occurs.
Any thing new here? Is this really a feature that doesn't make sense?
Hi @KlemenDanfoss , as a feature it makes sense. However, we don't have the bandwidth to do this recently.
We would need this feature as well. Especially the Change Failure Rate can't be only calculated based on Health Checks or Automated Post Deployment Tests. Sometimes there are bugs which are not covered by this automated tests and a Bug is then created.
- Is it possible to manually mark a deployment as a failure?
- Probably the same code which exists for gitlab or other providers can be used, just the fetching of the items needs to be adapted based on Azure Devops REST Apis?
This issue has been automatically marked as stale because it has been inactive for 60 days. It will be closed in next 7 days if no further activity occurs.
This issue has been closed because it has been inactive for a long time. You can reopen it if you encounter the similar problem in the future.
Any chance we can reopen this? If given directions, I can submit a PR for this.
@slaterx This issue is reopened.
There are two implementations about AzureDevOps in DevLake so far, but they both don't collect incidents.
I think it is similar to jira.
step1: issues
in Azure DevOps' board should be collected
step2: make a rule about how to regard issues
as incidents
. (I think @Startrekzky can help.)
step3: Update dora and AzureDevOps dashboard if neccessary.
cc @klesh
Hi @d4x1, I've reviewed the repo and found out that we have two plugins - one in python and another one in go.
Based on the comment here, the Go plugin skips disabled git repos, but in Azure DevOps, it is a valid use case to have disabled repos hosting work items. I would like some guidance to understand if I can remove this skip in the Go repo, otherwise, I'll attempt the implementation in the python plugin.
The reason for my question is because we have migrated from Azure DevOps to GitHub, however the issues are still collected in the disabled Azure DevOps repos. Keen to hear your thoughts.
cc @klesh
@slaterx Your use case sounds reasonable to me. @mr-ks I think we should allow adding disabled repos in case like this.
Once #7809 is merged, just tweak the query in grafana to obtain all bug type work items from Azure DevOps.
@mr-ks Would you like to take a look at the implementation? Thanks in advance.