apache / incubator-devlake

Apache DevLake is an open-source dev data platform to ingest, analyze, and visualize the fragmented data from DevOps tools, extracting insights for engineering excellence, developer experience, and community growth.
https://devlake.apache.org/
Apache License 2.0
2.5k stars 493 forks source link

[Feature][Azure devops] Collect Boards from Azure DevOps to supply incidents data for DORA #5996

Open klemen-df opened 10 months ago

klemen-df commented 10 months ago

Search before asking

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?

Code of Conduct

klesh commented 10 months ago

@keon94 I think we need to collect AzDo tickes/issues data for those metrics to work. Would you like to work on it? Thanks.

klesh commented 10 months ago

@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.

klemen-df commented 10 months ago

@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

klesh commented 10 months ago

Alright, let's collect votes first. cc. @keon94

github-actions[bot] commented 8 months ago

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.

klemen-df commented 8 months ago

Anything new here?

Startrekzky commented 7 months ago

@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.

github-actions[bot] commented 5 months ago

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.

klemen-df commented 5 months ago

Any thing new here? Is this really a feature that doesn't make sense?

Startrekzky commented 5 months ago

Hi @KlemenDanfoss , as a feature it makes sense. However, we don't have the bandwidth to do this recently.

edolic commented 4 months ago

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.

github-actions[bot] commented 2 months ago

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.

github-actions[bot] commented 1 month ago

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.

slaterx commented 1 month ago

Any chance we can reopen this? If given directions, I can submit a PR for this.

d4x1 commented 1 month ago

@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

slaterx commented 3 weeks ago

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

klesh commented 3 weeks ago

@slaterx Your use case sounds reasonable to me. @mr-ks I think we should allow adding disabled repos in case like this.