v15.0.1 - 15.0.1 - Fix pack + User Mappings (#1977)
Consecutive Dates
The system will now check that the Revision dates are consecutive. If there are a bunch of identical dates, it will push each duplicate date by 1 second to ensure that each one is consecutive.
User Mappings
There was a request to have the ability to map users to try and maintain integrity across different systems. We added a TfsUserMappingEnricherthat allows you to map users from Source to Target... this is not free and takes some work. Runnin the
ExportUsersForMappingConfig` to get the list of users will produce:
[
{
"Source": {
"FriendlyName": "Martin Hinshelwood nkdAgility.com",
"AccountName": "[email protected]"
},
"target": {
"FriendlyName": "Hinshelwood, Martin",
"AccountName": "[email protected]"
}
},
{
"Source": {
"FriendlyName": "Rollup Bot",
"AccountName": "[email protected]"
},
"target": {
"FriendlyName": "Service Account 4",
"AccountName": "[email protected]"
}
},
{
"Source": {
"FriendlyName": "Another non mapped Account",
"AccountName": "[email protected]"
},
"target": null
}
]
How it works
- Run
ExportUsersForMappingConfig
which will export all of the Users in Soruce Mapped or not to target. - Run
WorkItemMigrationConfig
which will run a validator by detail to warn you of missing users. If it finds a mapping it will convert the field...
Notes
- Applies to all identity fields specified in the list
- It really sucks that we have to match on Display name! Email is included for internal matching
- On 'ExportUsersForMappingConfig
you can set
OnlyListUsersInWorkItems` to filter the mapping based on the scope of the query. This is greater if you have many users. - Both use the
TfsUserMappingEnricherOptions
setting inCommonEnrichersConfig
to know what to do.
{
"ChangeSetMappingFile": null,
"Source": {
"$type": "TfsTeamProjectConfig",
"Collection": "https://dev.azure.com/nkdagility/",
"Project": "AzureDevOps-Tools",
"ReflectedWorkItemIDFieldName": "nkdScrum.ReflectedWorkItemId",
"AllowCrossProjectLinking": false,
"AuthenticationMode": "Prompt",
"PersonalAccessToken": "",
"PersonalAccessTokenVariableName": "",
"LanguageMaps": {
"AreaPath": "Area",
"IterationPath": "Iteration"
}
},
"Target": {
"$type": "TfsTeamProjectConfig",
"Collection": "https://dev.azure.com/nkdagility-preview/",
"Project": "migrationTest5",
"ReflectedWorkItemIDFieldName": "nkdScrum.ReflectedWorkItemId",
"AllowCrossProjectLinking": false,
"AuthenticationMode": "Prompt",
"PersonalAccessToken": "",
"PersonalAccessTokenVariableName": "",
"LanguageMaps": {
"AreaPath": "Area",
"IterationPath": "Iteration"
}
},
"FieldMaps": [],
"GitRepoMapping": null,
"LogLevel": "Debug",
"CommonEnrichersConfig": [
{
"$type": "TfsUserMappingEnricherOptions",
"Enabled": true,
"UserMappingFile": "C:\\temp\\userExport.json",
"IdentityFieldsToCheck": [
"System.AssignedTo",
"System.ChangedBy",
"System.CreatedBy",
"Microsoft.VSTS.Common.ActivatedBy",
"Microsoft.VSTS.Common.ResolvedBy",
"Microsoft.VSTS.Common.ClosedBy"
]
}
],
"Processors": [
{
"$type": "ExportUsersForMappingConfig",
"Enabled": true,
"WIQLQuery": "SELECT [System.Id] FROM WorkItems WHERE [System.TeamProject] = @TeamProject AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request') ORDER BY [System.ChangedDate] desc",
"OnlyListUsersInWorkItems": true
}
],
"Version": "15.0"
}
Resolves #1976
Export users for mapping context (#1969) for MrHinsh
15.0.1 - Fix pack + User Mappings (#1977) for MrHinsh
Changes:
Bugs:
- #1660: [Bug]: S402625: Dates must be increasing with each revision.
Others:
- #1977: 15.0.1 - Fix pack + User Mappings
- #1975: [preview] Full fix for #1660 will ensure that all revisions have consecutive datetime with a full second intervel.
- #1976: [preview] Delayed Get Service for Security on the UserMappign Enricher.
- #1969: [preview] Export users for mapping context
This list of changes was auto generated.