Tugrulhankars opened a new pull request, #9014:
URL: https://github.com/apache/devlake/pull/9014
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Thanks for submitting a pull request!
We appreciate you spending the time to work on these changes.
Please fill out as many sections below as possible.
-->
### Summary
This PR introduces full support for **Azure DevOps On-Premises (Server)** in
the `azuredevops_go` plugin, allowing enterprise users with self-hosted Azure
DevOps instances to ingest DevOps data and compute DORA metrics.
#### Key Changes:
1. **Connection & Auth Model
(`backend/plugins/azuredevops_go/models/connection.go`):**
- Added `Endpoint` and `Username` fields to support custom On-Premises
base URLs and HTTP Basic Authentication.
- Updated base URL normalization to handle custom domains/IPs with
subpaths (e.g. `http://<IP>/DefaultCollection`).
2. **Database Migration
(`backend/plugins/azuredevops_go/models/migrationscripts/`):**
- Added migration script `20260726_add_username_to_azuredevops.go` to add
`username` and `endpoint` columns to `tool_azuredevops_go_connections`.
3. **GitExtractor IIS NTLM Auth Fix
(`backend/plugins/gitextractor/parser/clone_gitcli.go`):**
- Injected `-c http.extraHeader="Authorization: Basic <base64>"` during
`git clone` execution. This transmits the Basic Auth header on the initial
request, bypassing IIS `401 NTLM` challenges on Azure DevOps Server when
authenticating via PATs.
- Abstracted `DiffLine` model to remove non-CGO libgit2 build
dependencies on Windows environments.
4. **Config-UI (`config-ui/src/plugins/register/azure/config.tsx` &
`utils/request.ts`):**
- Exposed `Endpoint` and `Username` fields in the Azure DevOps Go
connection form.
- Fixed false-positive login redirects when remote scope connection tests
return HTTP 401.
### Does this close any open issues?
Closes 8985
### Screenshots
Include any relevant screenshots here.
### Other Information
- **Backward Compatibility:** 100% backward compatible with existing Azure
DevOps Cloud (`dev.azure.com`) connections.
- **Tested:** Tested and verified with live Azure DevOps Server
(On-Premises) instance for data collection and Grafana DORA metric calculation.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]