-
-
Notifications
You must be signed in to change notification settings - Fork 344
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]: Export User file empty when Source = DevOps Server 2022 #2085
Comments
Still present in current Preview 15.1.1-Preview.11:
|
The same behaviour in 15.1.3-Preview.2:
and 15.1.4-Preview.6:
|
@LudekStipal I think you are going to have to debug. I do not have access to a TFS server connected to AD! We can run a debug session together if you need! |
Hi @MrHinsh , sorry for the late reply, I was on planned holiday and just returned. I ran Debug session using the latest Code version (Repo clone, reports itself as [15.1.8-Local.9]) and was able to narrow down the issue: the Identities from Source (DevOps Server 2022) are never loaded (empty), so there can be no mapping file produced. The problem lies within:
This works fine for Azure DevOps Services (Cloud); However, when executing gss.ReadIdentity() against Azure DevOps Server 2022 (Update 2, but same behaviour was in Update 1), the filter:
always returns empty array, so nothing can be mapped / exported. The SIDS return from DevOps Server do not contain a single entry with "backslash", they are all SIDs - either starting with S-1-5-xxx, S-1-9-xxx, or in [Guid]:Build:[Guid] Format: So the following logic - ReadIdentity with SaerchFactor.AccountName - is also not usable for this case. I am currently not sure which "SIDs" belong tu Users, but it seems this modified function works for both DevOps Services and DevOps Server:
With this modification, the output file contains expected result (DisplayNames of Users in WorkItems mapped to "null": this is what we need, as the Projects need to supply their own correct Identities (e-mail addresses) for the Mapping). |
New Path for file containing GetUsersListFromServer function in MigrationTools v16.0.5-Preview.4
The problem / possible solution remains the same as in my previous post. |
@LudekStipal I have fixed this in #2522 Not sure if it is released out in latest preview version, but from the sources it will work for you. @MrHinsh I think you can close this issue. |
It's in preview. Not sure if it's shipped yet as Winget are quite slow... But choco is usually quick. |
Version
Source Version
Azure DevOps Server 2022
Target Version
Azure DevOps Service
Relevant configuration
Relevant log output
What happened?
All versions of Tool with current TfsUserMappingEnricher (tried 15.0.4 Release, 1.0.5 Preview 72, 1.0.5 Preview 168) are incapable of exporting any Users from DevOps Server (Domain logins). Even if only TfsUserMappingEnricherOptions and ExportUsersForMappingConfig are enabled, it always "filters to 0 viable mappings".
I do not expect the EXPORT of SOURCE users to do any "mapping" to target identities. All I want is a JSON of all Users present in Source WorkItems, which can be used as basis for preparing our own Mapping file (from DevOps Server AD identity do DevOps Services e-mail identity). This worked in Tool version 14.x, where all that happened was:
src/VstsSyncMigrator.Core/Execution/MigrationContext/ExportUsersForMapping.cs
However, in current implementation, no matter what I configure (I even tried setting the Target DevOps to the same Server instance, no luck - the Enricher is unable to work with AD identities properly, and output is always an empty file).
Debug in Visual Studio
The text was updated successfully, but these errors were encountered: