Skip to content

Commit e3a8fb5

Browse files
committed
Add Documentation Generator launch configuration and improve XML documentation handling
- Added a new launch configuration for the Documentation Generator in launch.json. - Updated descriptions in YAML files for ExportAllUsers and UserExportFile parameters to clarify usage. - Fixed formatting issues in various YAML files, replacing "& Plans" with "& Plans". - Enhanced the GetXDocument methods in CodeDocumentation.cs to preserve XML tags when converting to Markdown. - Introduced XmlDocToMarkdownConverter.cs to handle XML documentation to Markdown conversion, including support for various XML tags. - Updated JSON schema files to reflect changes in descriptions and ensure consistency across documentation.
1 parent e0fbc0e commit e3a8fb5

19 files changed

+229
-71
lines changed

.vscode/launch.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,21 @@
3939
"type": "coreclr",
4040
"request": "attach",
4141
"processId": "${command:azureFunctions.pickProcess}"
42+
},
43+
{
44+
"name": "Documentation Generator",
45+
"type": "coreclr",
46+
"request": "launch",
47+
"preLaunchTask": "build only",
48+
"program": "${workspaceFolder}/src/MigrationTools.ConsoleDataGenerator/bin/Debug/net8.0/MigrationTools.ConsoleDataGenerator.dll",
49+
"args": [],
50+
"cwd": "${workspaceFolder}/src/MigrationTools.ConsoleDataGenerator/bin/Debug/net8.0",
51+
"console": "internalConsole",
52+
"stopAtEntry": false,
53+
"justMyCode": true,
54+
"env": {
55+
"DOTNET_ENVIRONMENT": "Development"
56+
}
4257
}
4358
]
4459
}

docs/data/classes/reference.processors.tfsexportusersformappingprocessor.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ options:
4444
dotNetType: System.Collections.Generic.List`1[[MigrationTools.Enrichers.IProcessorEnricherOptions, MigrationTools, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
4545
- parameterName: ExportAllUsers
4646
type: Boolean
47-
description: Set to , if you want to export all users in source and target server. The lists of user can be useful, if you need tu manually edit mapping file. Users will be exported to file set in .
47+
description: Set to `true`, if you want to export all users in source and target server. The lists of user can be useful, if you need tu manually edit mapping file. Users will be exported to file set in `UserExportFile`.
4848
defaultValue: missing XML code comments
4949
isRequired: false
5050
dotNetType: System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
@@ -74,7 +74,7 @@ options:
7474
dotNetType: System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
7575
- parameterName: UserExportFile
7676
type: String
77-
description: Path to export file where all source and target servers' users will be exported. Users are exported only if is set to .
77+
description: Path to export file where all source and target servers' users will be exported. Users are exported only if `ExportAllUsers` is set to `true`.
7878
defaultValue: missing XML code comments
7979
isRequired: false
8080
dotNetType: System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e

docs/data/classes/reference.processors.tfstestconfigurationsmigrationprocessor.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,6 @@ options:
5757
isRequired: true
5858
dotNetType: System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
5959
status: Beta
60-
processingTarget: Suites & Plans
60+
processingTarget: Suites & Plans
6161
classFile: src/MigrationTools.Clients.TfsObjectModel/Processors/TfsTestConfigurationsMigrationProcessor.cs
6262
optionsClassFile: src/MigrationTools.Clients.TfsObjectModel/Processors/TfsTestConfigurationsMigrationProcessorOptions.cs

docs/data/classes/reference.processors.tfstestplansandsuitesmigrationprocessor.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ options:
9595
dotNetType: System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
9696
- parameterName: TestPlanIds
9797
type: Int32[]
98-
description: 'This flag filters all test plans and retains only the specified ones for migration. Pass the test plan IDs as an array. Example: "TestPlanIds": [123, 456, 789] Works optimally when "TestPlanQuery" is set to null.'
98+
description: 'This flag filters all test plans and retains only the specified ones for migration. Pass the test plan IDs as an array. Example: "TestPlanIds": [123, 456, 789] Works optimally when "TestPlanQuery" is set to null.'
9999
defaultValue: missing XML code comments
100100
isRequired: false
101101
dotNetType: System.Int32[], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
@@ -106,6 +106,6 @@ options:
106106
isRequired: false
107107
dotNetType: System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
108108
status: Beta
109-
processingTarget: Suites & Plans
109+
processingTarget: Suites & Plans
110110
classFile: src/MigrationTools.Clients.TfsObjectModel/Processors/TfsTestPlansAndSuitesMigrationProcessor.cs
111111
optionsClassFile: src/MigrationTools.Clients.TfsObjectModel/Processors/TfsTestPlansAndSuitesMigrationProcessorOptions.cs

docs/data/classes/reference.processors.tfstestvariablesmigrationprocessor.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,6 @@ options:
5858
isRequired: true
5959
dotNetType: System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
6060
status: Beta
61-
processingTarget: Suites & Plans
61+
processingTarget: Suites & Plans
6262
classFile: src/MigrationTools.Clients.TfsObjectModel/Processors/TfsTestVariablesMigrationProcessor.cs
6363
optionsClassFile: src/MigrationTools.Clients.TfsObjectModel/Processors/TfsTestVariablesMigrationProcessorOptions.cs

docs/data/classes/reference.processors.tfsworkitembulkeditprocessor.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ options:
8383
- parameterName: WIQLQuery
8484
type: String
8585
description: A work item query based on WIQL to select only important work items. To migrate all leave this empty. See [WIQL Query Bits](#wiql-query-bits)
86-
defaultValue: AND [Microsoft.VSTS.Common.ClosedDate] = '' AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request')
86+
defaultValue: AND [Microsoft.VSTS.Common.ClosedDate] = '' AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request')
8787
isRequired: true
8888
dotNetType: System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
8989
- parameterName: WorkItemCreateRetryLimit

docs/data/classes/reference.processors.tfsworkitemoverwriteprocessor.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ options:
7676
- parameterName: WIQLQuery
7777
type: String
7878
description: A work item query based on WIQL to select only important work items. To migrate all leave this empty. See [WIQL Query Bits](#wiql-query-bits)
79-
defaultValue: AND [Microsoft.VSTS.Common.ClosedDate] = '' AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request')
79+
defaultValue: AND [Microsoft.VSTS.Common.ClosedDate] = '' AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request')
8080
isRequired: true
8181
dotNetType: System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
8282
- parameterName: WorkItemCreateRetryLimit

docs/data/classes/reference.processors.tfsworkitemtypevalidatorprocessor.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ configurationSamples:
2323
"TargetName": null
2424
}
2525
sampleFor: MigrationTools.Processors.TfsWorkItemTypeValidatorProcessorOptions
26-
description: Work item type validation processor. Basically it just runs the to validate work item types. The validation is run always, even if the tool iself is disabled. Neither this processor, nor the tool do not perform any changes to the source or target system.
26+
description: Work item type validation processor. Basically it just runs the `TfsWorkItemTypeValidatorTool` to validate work item types. The validation is run always, even if the tool iself is disabled. Neither this processor, nor the tool do not perform any changes to the source or target system.
2727
className: TfsWorkItemTypeValidatorProcessor
2828
typeName: Processors
2929
options:
@@ -53,7 +53,7 @@ options:
5353
dotNetType: System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
5454
- parameterName: StopIfValidationFails
5555
type: Boolean
56-
description: If set to , migration process will stop if there are some validation errors. If set to , migration process will continue, for example to support some other validation processors. Default value is .
56+
description: If set to `true`, migration process will stop if there are some validation errors. If set to `false`, migration process will continue, for example to support some other validation processors. Default value is `true`.
5757
defaultValue: missing XML code comments
5858
isRequired: false
5959
dotNetType: System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e

docs/data/classes/reference.tools.tfsvalidaterequiredfieldtool.yaml

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,35 +9,16 @@ configurationSamples:
99
- name: sample
1010
order: 1
1111
description:
12-
code: >-
13-
{
14-
"MigrationTools": {
15-
"Version": "16.0",
16-
"CommonTools": {
17-
"TfsValidateRequiredFieldTool": {
18-
"Enabled": "True",
19-
"Exclusions": [
20-
"Work Request",
21-
"Opertunity",
22-
"Assumption"
23-
]
24-
}
25-
}
26-
}
27-
}
12+
code: There is no sample, but you can check the classic below for a general feel.
2813
sampleFor: MigrationTools.Tools.TfsValidateRequiredFieldToolOptions
2914
- name: classic
3015
order: 3
3116
description:
3217
code: >-
3318
{
3419
"$type": "TfsValidateRequiredFieldToolOptions",
35-
"Enabled": true,
36-
"Exclusions": [
37-
"Work Request",
38-
"Opertunity",
39-
"Assumption"
40-
]
20+
"Enabled": false,
21+
"Exclusions": []
4122
}
4223
sampleFor: MigrationTools.Tools.TfsValidateRequiredFieldToolOptions
4324
description: Tool for validating that required fields exist in target work item types before migration, preventing migration failures due to missing required fields.

docs/data/classes/reference.tools.tfsworkitemtypevalidatortool.yaml

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ configurationSamples:
2626
"CommonTools": {
2727
"TfsWorkItemTypeValidatorTool": {
2828
"Enabled": "True",
29-
"FieldMappings": {
30-
"User Story": {
31-
"Microsoft.VSTS.Common.Prirucka": "Custom.Prirucka"
32-
}
29+
"FixedTargetFields": {
30+
"User Story": [
31+
"Custom.Prirucka"
32+
]
3333
},
3434
"IncludeWorkItemtypes": [
3535
"Bug",
@@ -39,7 +39,12 @@ configurationSamples:
3939
"Feature",
4040
"Epic",
4141
"Risk"
42-
]
42+
],
43+
"SourceFieldMappings": {
44+
"User Story": {
45+
"Microsoft.VSTS.Common.Prirucka": "Custom.Prirucka"
46+
}
47+
}
4348
}
4449
}
4550
}
@@ -61,8 +66,16 @@ configurationSamples:
6166
"Epic",
6267
"Risk"
6368
],
64-
"SourceFieldMappings": {},
65-
"FixedTargetFields": {}
69+
"SourceFieldMappings": {
70+
"User Story": {
71+
"Microsoft.VSTS.Common.Prirucka": "Custom.Prirucka"
72+
}
73+
},
74+
"FixedTargetFields": {
75+
"User Story": [
76+
"Custom.Prirucka"
77+
]
78+
}
6679
}
6780
sampleFor: MigrationTools.Tools.TfsWorkItemTypeValidatorToolOptions
6881
description: This tool checks if the work item types in the source system have corresponding types in the target system, and validates their fields and mappings.
@@ -77,19 +90,19 @@ options:
7790
dotNetType: System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
7891
- parameterName: FixedTargetFields
7992
type: Dictionary
80-
description: List of target fields, that are considered as fixed. It means, even if the field is different against source field, no warning will be triggered, jus information about the differences. Use this list, whan you know about the differences between fields, but resolved it for example by using . Key is target work item type name. As this name, you can use * to define fixed fields which will be applied to all work item types.
93+
description: List of target fields that are considered as `fixed`. A field marked as fixed will not stop the migration if differences are found. Instead of a warning, only an informational message will be logged. Use this list when you already know about the differences and have resolved them, for example by using `FieldMappingTool`. The key is the target work item type name. You can also use `*` to define fixed fields that apply to all work item types.
8194
defaultValue: missing XML code comments
8295
isRequired: false
8396
dotNetType: System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
8497
- parameterName: IncludeWorkItemtypes
8598
type: List
8699
description: List of work item types which will be validated. If this list is empty, all work item types will be validated.
87-
defaultValue: missing XML code comments
100+
defaultValue: All work item types are included.
88101
isRequired: false
89102
dotNetType: System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
90103
- parameterName: SourceFieldMappings
91104
type: Dictionary
92-
description: Field reference name mappings. Key is work item type name, value is dictionary of mapping source filed name to target field name. Target field name can be empty string to indicate that this field will not be validated in target. As work item type name, you can use * to define mappings which will be applied to all work item types.
105+
description: Field reference name mappings. Key is work item type name, value is dictionary of mapping source filed name to target field name. Target field name can be empty string to indicate that this field will not be validated in target. As work item type name, you can use `*` to define mappings which will be applied to all work item types.
93106
defaultValue: missing XML code comments
94107
isRequired: false
95108
dotNetType: System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e

0 commit comments

Comments
 (0)