Comments (2)
This seams to be a fault with the Azure DevOps Object Model API.
The same PAT token works using the following Rest API code:
$Token = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
$temptoken = $null
$header = $null
$temptoken = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$Token"))
$header = @{authorization = "Basic $temptoken" }
Write-DebugLog "Header: {header}" -PropertyValues $header
$callUrl = "https://app.vssps.visualstudio.com/_apis/profile/profiles/me"
$profile = Invoke-RestMethod -Uri $callUrl -Method Get -ContentType "application/json" -Headers $header
Write-Output "Found $($profile.emailAddress)"
$callUrl = "https://app.vssps.visualstudio.com/_apis/accounts?memberId=$($profile.id)&api-version=7.2-preview.1"
$accounts = Invoke-RestMethod -Uri $callUrl -Method Get -ContentType "application/json" -Headers $header
foreach ($account in $accounts.value) {
Write-Output "Found $($account.accountName)"
}
While does not work using the Object Model:
$Token = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
$pathToDlls = "C:\Users\MartinHinshelwoodNKD\source\repos\azure-devops-migration-tools\src\MigrationTools.ConsoleFull\bin\Debug\net472"
Add-Type -Path "$pathToDlls\Microsoft.TeamFoundation.WorkItemTracking.Client.dll"
Add-Type -Path "$pathToDlls\Microsoft.VisualStudio.Services.Common.dll"
[Microsoft.VisualStudio.Services.Common.VssBasicCredential]$vssCredentials
$vssCredentials = New-Object Microsoft.VisualStudio.Services.Common.VssBasicCredential("", $Token)
$collectionUri = "https://dev.azure.com/nkdagility-preview"
$teamProjectCollection = New-Object Microsoft.TeamFoundation.Client.TfsTeamProjectCollection(New-Object Uri($collectionUri), $vssCredentials)
[Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStoreFlags]$accesslevel = [Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStoreFlags]::BypassRules
$workItemStore = New-Object Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore($teamProjectCollection, $accesslevel)
from azure-devops-migration-tools.
I have heard back from the Product Team, and the Object Model only works with "Full Access" PAT tokens.
from azure-devops-migration-tools.
Related Issues (20)
- [Feature]: Move to Non-Internal Work Item
- Not all work items in scope contain a valid ReflectedWorkItemId Field!
- TF51005: The query references a field that does not exist. The error is caused by «[nkdScrum.ReflectedWorkItemId]».
- Errore del server remoto: (401) Non autorizzato.
- Basic authentication requires a secure connection to the server.
- Sequence contains no elements
- Object reference not set to an instance of an object.
- Expecting SELECT. The error is caused by «AND».
- TF51006: The query statement is missing a FROM clause. The error is caused by «NOT».
- Object reference not set to an instance of an object.
- TF51011: The specified area path does not exist. The error is caused by «'redacted'».
- TF51011: The specified area path does not exist. The error is caused by «'redacted'».
- TF51011: The specified area path does not exist. The error is caused by «'redacted'».
- TF51011: The specified area path does not exist. The error is caused by «'redacted'».
- Expecting comparison operator. The error is caused by «EQUALS».
- Expecting expression. The error is caused by «(».
- TF51012: The UNDER operator can only be used with classification fields. The error is caused by «[System.WorkItemType]».
- TF51005: la query fa riferimento a un campo inesistente. Errore causato da «[nkdScrum.ReflectedWorkItemId]».
- Identificatore vuoto non consentito. Errore causato da «[]».
- Il valore non può essere null. Nome parametro: str
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from azure-devops-migration-tools.