Skip to content

Commit

Permalink
Niggles v16 (#2335)
Browse files Browse the repository at this point in the history
1. Update getting started config to be really simple.
2. Fix Application insights
  • Loading branch information
MrHinsh authored Sep 6, 2024
2 parents 7457136 + 6464122 commit 193b80a
Show file tree
Hide file tree
Showing 25 changed files with 1,150 additions and 23 deletions.
53 changes: 53 additions & 0 deletions .github/workflows/MigrationToolsTelemetery.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Build and deploy .NET Core application to Function App MigrationToolsTelemetery
on:
push:
branches:
- topic/niggles

env:
AZURE_FUNCTIONAPP_NAME: MigrationToolsTelemetery
AZURE_FUNCTIONAPP_PACKAGE_PATH: src\MigrationTools.Telemetery\published
CONFIGURATION: Release
DOTNET_CORE_VERSION: 8.0.x
WORKING_DIRECTORY: src\MigrationTools.Telemetery
DOTNET_CORE_VERSION_INPROC: 6.0.x

jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Setup .NET SDK
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ env.DOTNET_CORE_VERSION }}
- name: Setup .NET Core (for inproc extensions)
uses: actions/setup-dotnet@v1
with:
dotnet-version: ${{ env.DOTNET_CORE_VERSION_INPROC }}
- name: Restore
run: dotnet restore "${{ env.WORKING_DIRECTORY }}"
- name: Build
run: dotnet build "${{ env.WORKING_DIRECTORY }}" --configuration ${{ env.CONFIGURATION }} --no-restore
- name: Publish
run: dotnet publish "${{ env.WORKING_DIRECTORY }}" --configuration ${{ env.CONFIGURATION }} --no-build --output "${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}"
- name: Publish Artifacts
uses: actions/upload-artifact@v3
with:
name: functionapp
path: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}
deploy:
runs-on: windows-latest
needs: build
steps:
- name: Download artifact from build job
uses: actions/download-artifact@v3
with:
name: functionapp
path: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}
- name: Deploy to Azure Function App
uses: Azure/functions-action@v1
with:
app-name: ${{ env.AZURE_FUNCTIONAPP_NAME }}
publish-profile: ${{ secrets.MigrationToolsTelemetery_3736 }}
package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}
31 changes: 31 additions & 0 deletions .github/workflows/test-function.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Function Build & Release (Azure DevOps Migration Tools)

permissions:
contents: read
pull-requests: write

on:
push:
branches: ["main"]
tags-ignore: ["v*-*"]
pull_request:
branches: ["main"]
workflow_dispatch:
inputs:
ForceRelease:
description: 'Force a release! Use when changes hapen out of sync and `src` and `docs` folder changes are not detected.'
required: false
default: false
type: boolean

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

defaults:
run:
shell: pwsh

jobs:

# Setup & Configuration
7 changes: 7 additions & 0 deletions MigrationTools.sln
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MigrationTools.Documentatio
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MigrationTools.Shadows", "src\MigrationTools.Shadows\MigrationTools.Shadows.csproj", "{FA314A24-7616-498C-83F1-84D64365D00F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MigrationTools.Telemetery", "src\MigrationTools.Telemetery\MigrationTools.Telemetery.csproj", "{5B9D24D8-8F47-4EB8-847A-9D5634CBC010}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -183,6 +185,10 @@ Global
{FA314A24-7616-498C-83F1-84D64365D00F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FA314A24-7616-498C-83F1-84D64365D00F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FA314A24-7616-498C-83F1-84D64365D00F}.Release|Any CPU.Build.0 = Release|Any CPU
{5B9D24D8-8F47-4EB8-847A-9D5634CBC010}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5B9D24D8-8F47-4EB8-847A-9D5634CBC010}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5B9D24D8-8F47-4EB8-847A-9D5634CBC010}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5B9D24D8-8F47-4EB8-847A-9D5634CBC010}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -210,6 +216,7 @@ Global
{BADF6B5C-1987-4F2D-8316-41D78CD25366} = {83F36820-E9BC-4F48-8202-5EAF9530405E}
{217A2F5E-C6C7-4B1A-9E22-C7A1D00E9BED} = {83F36820-E9BC-4F48-8202-5EAF9530405E}
{FA314A24-7616-498C-83F1-84D64365D00F} = {BADF6B5C-1987-4F2D-8316-41D78CD25366}
{5B9D24D8-8F47-4EB8-847A-9D5634CBC010} = {83F36820-E9BC-4F48-8202-5EAF9530405E}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {62EE0B27-C55A-46EE-8D17-1691DE9BBD50}
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,9 @@ The documentation for the preview is on [Preview](https://nkdagility.com/docs/az
| Migration Run Total | **19bn Seconds** | Thats **316m hours** or **13m days** of run time in the last 30 days. |
| Average Work item Migration Time | **22s** | Work Item (includes all revisions, links, and attachments for the work item) |

![All Work Items Migrated with new version](https://img.shields.io/endpoint?url=https%3A%2F%2Fmigrationtoolstelemetery.azurewebsites.net%2Fapi%2FGetShieldIoWorkItemMetrics_WorkItemTotals%3Fcode%3DN0Lfmkrz_Rzh1lrd5eol1IuDIUfOVnX0oFaT8k6m_uX8AzFu27y_og%3D%3D)


This tool uses OpenTelemetery to collect metrics and logs, and Application Insights to store and analyse them. Exceptions are also sent to [Elmah.io](https://elmah.io) for analysis and improvement.

## Advanced tools
Expand Down
20 changes: 10 additions & 10 deletions docs/Reference/Generated/MigrationTools.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

38 changes: 38 additions & 0 deletions docs/_includes/sampleConfig/configuration-getstarted.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"Serilog": {
"MinimumLevel": "Information"
},
"MigrationTools": {
"Version": "16.0",
"Endpoints": {
"Source": {
"EndpointType": "TfsTeamProjectEndpoint",
"Collection": "https://dev.azure.com/nkdagility-preview/",
"Project": "migrationSource1",
"Authentication": {
"AuthenticationMode": "AccessToken",
"AccessToken": "jkashdjksahsjkfghsjkdaghvisdhuisvhladvnb"
}
},
"Target": {
"EndpointType": "TfsTeamProjectEndpoint",
"Collection": "https://dev.azure.com/nkdagility-preview/",
"Project": "migrationTest5",

"Authentication": {
"AuthenticationMode": "AccessToken",
"AccessToken": "lkasjioryislaniuhfhklasnhfklahlvlsdvnls"
},
"ReflectedWorkItemIdField": "Custom.ReflectedWorkItemId"
}
},
"CommonTools": {},
"Processors": [
{
"ProcessorType": "TfsWorkItemMigrationProcessor",
"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",
}
]
}
}
32 changes: 23 additions & 9 deletions docs/_layouts/default.html
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,21 @@
<li class="list-group-item d-flex justify-content-center align-items-center">
<p class="text-center">Created and maintained by <a href="https://www.linkedin.com/in/martinhinshelwood/" target="_blank">Martin Hinshelwood</a> of <a href="https://nkdagility.com" target="_blank">nkdagility.com</a></p>
</li>
<li class="list-group-item">
<p class="text-center">Versions</p>
<ul class="list-group">
<li class="list-group-item">
<i class="fas fa-question-circle"></i>
<a href="{{site.baseurl}}" class="ml-2" target="_blank">v#{GitVersion.SemVer}#</a> (latest)
</li>
<li class="list-group-item">
<i class="fab fa-twitter"></i>
<a href="{{site.baseurl}}/docs/v15.2.0" class="ml-2" target="_blank">v15.2.0</a> (unsupported)
</li>
</ul>
</li>
</ul>

</div>
</div>
<div class="card mb-3">
Expand All @@ -80,23 +94,23 @@ <h5 class="no_toc card-header">In this article</h5>
<div class="container mt-5">
<ul class="list-group">
<li class="list-group-item">
<i class="fas fa-question-circle"></i>
<a href="https://github.com/nkdAgility/azure-devops-migration-tools/discussions/categories/q-a" class="ml-2"target="_blank">Ask Questions</a>
<i class="fas fa-question-circle"></i>
<a href="https://github.com/nkdAgility/azure-devops-migration-tools/discussions/categories/q-a" class="ml-2" target="_blank">Ask Questions</a>
</li>
<li class="list-group-item">
<i class="fab fa-twitter"></i>
<a href="https://x.com/nkdagility" class="ml-2"target="_blank">Twitter Follow</a>
<i class="fab fa-twitter"></i>
<a href="https://x.com/nkdagility" class="ml-2" target="_blank">Twitter Follow</a>
</li>
<li class="list-group-item">
<i class="fas fa-cogs"></i>
<a href="https://github.com/nkdAgility/azure-devops-migration-tools/discussions/categories/ideas" class="ml-2"target="_blank">Features</a>
<i class="fas fa-cogs"></i>
<a href="https://github.com/nkdAgility/azure-devops-migration-tools/discussions/categories/ideas" class="ml-2" target="_blank">Features</a>
</li>
<li class="list-group-item">
<i class="fas fa-exclamation-circle"></i>
<a href="https://github.com/nkdAgility/azure-devops-migration-tools/discussions/categories/general" class="ml-2"target="_blank">Issues</a>
<i class="fas fa-exclamation-circle"></i>
<a href="https://github.com/nkdAgility/azure-devops-migration-tools/discussions/categories/general" class="ml-2" target="_blank">Issues</a>
</li>
<li class="list-group-item">
<i class="fas fa-video"></i>
<i class="fas fa-video"></i>
<a href="https://www.youtube.com/playlist?list=PLQEC_R53iJWPok6OtYcavAlE9xKnZzgGK" class="ml-2" target="_blank">Videos</a>
</li>
</ul>
Expand Down
2 changes: 1 addition & 1 deletion docs/getstarted/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ This is going to be a crash course and I really recommend watching [What can go
You can now customize the configuration depending on what you need to do. However, a basic config that you can use to migrate from one team project to another with the same process will likley look somethig like:

```JSON
{% include sampleConfig/configuration.json %}
{% include sampleConfig/configuration-getstarted.json %}
```

The default [TfsWorkItemMigrationProcesor](_reference/reference.processors.tfsworkitemmigrationprocessor.md) processor will perform the following operations:
Expand Down
Loading

0 comments on commit 193b80a

Please sign in to comment.