401 Unauthorized every time Analysis tab is accessed for one Application



Overview

This issue occurs in the following circumstances

  1. An Organization Administrator logs into the vFunction Server UI
  2. The Administrator clicks on the person icon in the top-right corner of the UI
  3. The Administrator selects Settings from the submenu
  4. The Administrators select Configure Integrations from the left-hand sidebar
  5. The Administrator toggles the Take Management System » Manage Integration to Per App
  6. The Administrator closes the Configure Integrations dialog box
  7. The Administrator clicks Apps from the left-hand sidebar
  8. The Administrator clicks Add Integrations next to an App in the center pane
  9. The Administrator changes the Workspace type to Azure DevOps and configures the User Name, Token, and Base URL. The Azure DevOps integration works as expected for a period of time for the App
  10. Unexpectedly, all users become unable to access the Analysis tab for the specific App in the vFunction Server UI
  11. The vfunction-nginx Container / Pod logs show 401 errors on the following API calls
IP_ADDRESS - - [18/Sep/2025:18:23:25 +0000] "GET /api/v1/measurements/issues/projects/APP_UUID HTTP/1.1" 401 101 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0" "IP_ADDRESS"
IP_ADDRESS - - [18/Sep/2025:18:23:25 +0000] "GET /api/v1/measurements/issues/users/APP_UUID HTTP/1.1" 401 101 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0" "IP_ADDRESS"

Steps to Resolve the Issue

Take the following steps to resolve the issue:

  1. Confirm the issue goes away by removing the Azure DevOps integration for the App
  2. Assuming that the issue goes away, create a new Personal Access Token (PAT) as the issue is probably that the old Token expired
  3. Re-add the PAT to the vFunction App
  4. Confirm that the vFunction Analysis page for the App can be accessed again as expected