dosubot[bot] commented on issue #8535: URL: https://github.com/apache/incubator-devlake/issues/8535#issuecomment-3183940933
<!-- Greeting --> Hi @phani-teja-nunna! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the incubator-devlake team. <!-- Answer --> The 401 Unauthorized error when loading Azure DevOps repositories is most likely due to an issue with the access token used for authentication. The DevLake Azure DevOps plugin expects a Personal Access Token (PAT) with sufficient permissions—at minimum, it needs the "Code (Read)" scope to list repositories. If the token is expired, revoked, or missing required scopes, you'll see this error. The timeout is likely a secondary effect of the failed authentication attempt, not an ingress or proxy issue. To troubleshoot: double-check that the PAT configured in DevLake is valid, active, and has the necessary permissions. You can test the token by making a direct API call to Azure DevOps to list repositories using curl or Postman with the same token. Also, review the DevLake backend logs for more detailed error messages around the failed /remote-scopes request. If the token looks correct, check for any network restrictions or organization policies in Azure DevOps that might block repository listing requests. The plugin's authentication logic is visible in the code and confirms this behavior: it encodes the token in base64 and uses it as a Basic auth header for API calls to https://dev.azure.com. If the token is invalid or lacks permissions, Azure DevOps will return a 401 error, which matches what you're seeing [(source)](https://github.com/apache/incubator-devlake/blob/2c15ad880dce830c6512fa58039527cbf4745b8b/backend/plugins/azuredevops_go/models/connection.go). If updating the token and checking permissions doesn't resolve it, try rotating the PAT and reconfiguring the connection in DevLake. Enabling debug logging in DevLake may also provide more insight. <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/d0650c7b-1b7a-41be-8c85-b78b2261c670?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/d0650c7b-1b7a-41be-8c85-b78b2261c670?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/d0650c7b-1b7a-41be-8c85-b78b2261c670?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/d0650c7b-1b7a-41be-8c85-b78b2261c670?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/d0650c7b-1b7a-41be-8c85-b78b2261c670?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/d0650c7b-1b7a-41be-8c85-b78b2261c670?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/d0650c7b-1b7a-41be-8c85-b78b2261c670?feedback_type=other)</sup> [](https://app.dosu.dev/b4e8e847-d479-4541-83a8-d88d83fea5c9/ask?utm_source=githu b) [](https://go.dosu.dev/discord-bot) [](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/incubator-devlake/issues/8535) -- 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: dev-unsubscr...@devlake.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org