Skip to content

Commit 348b5b3

Browse files
committed
Improves version display with dynamic loading and caching
Replaces static GitHub API calls with client-side version fetching to reduce server load and improve performance. Adds configurable preview URL parameter and implements 10-minute caching mechanism to minimize redundant requests. Enhances user experience by showing real-time version information while maintaining fallbacks for reliability.
1 parent 5e92efa commit 348b5b3

File tree

7 files changed

+190
-2
lines changed

7 files changed

+190
-2
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
title: Tfs WorkItemType Validator Processor
3+
description: Validates Work Item Types against a set of rules. Does not migrate Work Items, only validates types.
4+
dataFile: reference.processors.tfsworkitemtypevalidatorprocessor.yaml
5+
slug: tfs-workitem-type-validator-processor
6+
aliases:
7+
- /docs/Reference/Processors/TfsWorkItemTypeValidatorProcessor
8+
- /Reference/Processors/TfsWorkItemTypeValidatorProcessor
9+
- /learn/azure-devops-migration-tools/Reference/Processors/TfsWorkItemTypeValidatorProcessor
10+
- /learn/azure-devops-migration-tools/Reference/Processors/TfsWorkItemTypeValidatorProcessor/index.md
11+
date: 2025-06-24T12:07:31Z
12+
---
13+
14+
{{< class-description >}}
15+
16+
## Options
17+
18+
{{< class-options >}}
19+
20+
## Samples
21+
22+
### Sample
23+
24+
{{< class-sample sample="sample" >}}
25+
26+
### Defaults
27+
28+
{{< class-sample sample="defaults" >}}
29+
30+
### Classic
31+
32+
{{< class-sample sample="classic" >}}
33+
34+
## Metadata
35+
36+
{{< class-metadata >}}
37+
38+
## Schema
39+
40+
{{< class-schema >}}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
title: Tfs WorkItemType Validator Tool
3+
description: Validates Work Item Types against a set of rules. Does not migrate Work Items, only validates types.
4+
dataFile: reference.tools.tfsworkitemtypevalidatortool.yaml
5+
schemaFile: schema.tools.tfsworkitemtypevalidatortool.json
6+
slug: work-item-type-validator-tool
7+
aliases:
8+
- /docs/Reference/Tools/WorkItemTypeValidatorTool
9+
- /Reference/Tools/WorkItemTypeValidatorTool
10+
- /learn/azure-devops-migration-tools/Reference/Tools/WorkItemTypeValidatorTool
11+
- /learn/azure-devops-migration-tools/Reference/Tools/WorkItemTypeMappingTool/index.md
12+
date: 2025-06-24T12:07:31Z
13+
---
14+
15+
{{< class-description >}}
16+
17+
## Options
18+
19+
{{< class-options >}}
20+
21+
## Samples
22+
23+
### Sample
24+
25+
{{< class-sample sample="sample" >}}
26+
27+
### Defaults
28+
29+
{{< class-sample sample="defaults" >}}
30+
31+
### Classic
32+
33+
{{< class-sample sample="classic" >}}
34+
35+
## Metadata
36+
37+
{{< class-metadata >}}
38+
39+
## Schema
40+
41+
{{< class-schema >}}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ configurationSamples:
2020
"Enabled": false,
2121
"WIQLQuery": "Select [System.Id] From WorkItems Where [System.TeamProject] = @project and not [System.WorkItemType] contains 'Test Suite, Test Plan,Shared Steps,Shared Parameter,Feedback Request'",
2222
"TargetLinksToKeepOrganization": "https://dev.azure.com/nkdagility",
23-
"TargetLinksToKeepProject": "10464ecf-816d-4fca-a547-81f230b9069a",
23+
"TargetLinksToKeepProject": "916bd342-1db7-45e3-bef1-a370734362a4",
2424
"CleanupFileName": "c:/temp/OutboundLinkTargets.bat",
2525
"PrependCommand": "start",
2626
"DryRun": true,
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
optionsClassName: TfsWorkItemTypeValidatorProcessorOptions
2+
optionsClassFullName: MigrationTools.Processors.TfsWorkItemTypeValidatorProcessorOptions
3+
configurationSamples:
4+
- name: defaults
5+
order: 2
6+
description:
7+
code: There are no defaults! Check the sample for options!
8+
sampleFor: MigrationTools.Processors.TfsWorkItemTypeValidatorProcessorOptions
9+
- name: sample
10+
order: 1
11+
description:
12+
code: There is no sample, but you can check the classic below for a general feel.
13+
sampleFor: MigrationTools.Processors.TfsWorkItemTypeValidatorProcessorOptions
14+
- name: classic
15+
order: 3
16+
description:
17+
code: >-
18+
{
19+
"$type": "TfsWorkItemTypeValidatorProcessorOptions",
20+
"Enabled": false,
21+
"StopIfValidationFails": true,
22+
"SourceName": null,
23+
"TargetName": null
24+
}
25+
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.
27+
className: TfsWorkItemTypeValidatorProcessor
28+
typeName: Processors
29+
options:
30+
- parameterName: Enabled
31+
type: Boolean
32+
description: If set to `true` then the processor will run. Set to `false` and the processor will not run.
33+
defaultValue: missing XML code comments
34+
- parameterName: SourceName
35+
type: String
36+
description: This is the `IEndpoint` that will be used as the source of the Migration. Can be null for a write only processor.
37+
defaultValue: missing XML code comments
38+
- parameterName: StopIfValidationFails
39+
type: Boolean
40+
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 .
41+
defaultValue: missing XML code comments
42+
- parameterName: TargetName
43+
type: String
44+
description: This is the `IEndpoint` that will be used as the Target of the Migration. Can be null for a read only processor.
45+
defaultValue: missing XML code comments
46+
status: missing XML code comments
47+
processingTarget: missing XML code comments
48+
classFile: src/MigrationTools.Clients.TfsObjectModel/Processors/TfsWorkItemTypeValidatorProcessor.cs
49+
optionsClassFile: src/MigrationTools.Clients.TfsObjectModel/Processors/TfsWorkItemTypeValidatorProcessorOptions.cs

docs/layouts/_partials/components/menu-version.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,11 @@ <h6 class="dropdown-header"><i class="fas fa-code-branch me-2"></i>Documentation
9292
{{ if ne hugo.Environment "development" }}
9393
<span class="badge bg-danger ">{{ .Site.Params.version }}</span>
9494
{{ else }}
95-
<span class="badge bg-danger">v0.0.0-local.{{ .Page.GitInfo.AbbreviatedHash }}</span>
95+
{{ if .Page.GitInfo }}
96+
<span class="badge bg-danger">v0.0.0-local.{{ .Page.GitInfo.AbbreviatedHash }}</span>
97+
{{ else }}
98+
<span class="badge bg-danger">v0.0.0-local.dev</span>
99+
{{ end }}
96100
{{ end }}
97101
</div>
98102
</a>

docs/static/schema/configuration.schema.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -913,6 +913,35 @@
913913
}
914914
}
915915
},
916+
{
917+
"title": "TfsWorkItemTypeValidatorProcessor",
918+
"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.",
919+
"type": "object",
920+
"properties": {
921+
"enabled": {
922+
"description": "If set to `true` then the processor will run. Set to `false` and the processor will not run.",
923+
"type": "boolean"
924+
},
925+
"sourceName": {
926+
"description": "This is the `IEndpoint` that will be used as the source of the Migration. Can be null for a write only processor.",
927+
"type": "string"
928+
},
929+
"stopIfValidationFails": {
930+
"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 .",
931+
"type": "boolean"
932+
},
933+
"targetName": {
934+
"description": "This is the `IEndpoint` that will be used as the Target of the Migration. Can be null for a read only processor.",
935+
"type": "string"
936+
},
937+
"processorType": {
938+
"type": "string",
939+
"enum": [
940+
"TfsWorkItemTypeValidatorProcessor"
941+
]
942+
}
943+
}
944+
},
916945
{
917946
"title": "WorkItemTrackingProcessor",
918947
"description": "This processor is intended, with the aid of [ProcessorEnrichers](../ProcessorEnrichers/index.md), to allow the migration of Work Items between two [Endpoints](../Endpoints/index.md).",
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
3+
"$id": "https://devopsmigration.io/schema/schema.processors.tfsworkitemtypevalidatorprocessor.json",
4+
"title": "TfsWorkItemTypeValidatorProcessor",
5+
"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.",
6+
"type": "object",
7+
"properties": {
8+
"enabled": {
9+
"description": "If set to `true` then the processor will run. Set to `false` and the processor will not run.",
10+
"type": "boolean"
11+
},
12+
"sourceName": {
13+
"description": "This is the `IEndpoint` that will be used as the source of the Migration. Can be null for a write only processor.",
14+
"type": "string"
15+
},
16+
"stopIfValidationFails": {
17+
"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 .",
18+
"type": "boolean"
19+
},
20+
"targetName": {
21+
"description": "This is the `IEndpoint` that will be used as the Target of the Migration. Can be null for a read only processor.",
22+
"type": "string"
23+
}
24+
}
25+
}

0 commit comments

Comments
 (0)