Получение данных о пропускной способности Kanban из Microsoft VSO

Я создаю калькулятор пропускной способности для своей команды на основе наших данных в инструменте MS VSO. Чтобы точно указать дату, когда мы начинаем работу над PBI, мне нужно извлечь дату, к которой привязан PBI.

Можно ли запросить продукт MS VSO, чтобы извлечь даты изменения состояния PBI на «Committed»?

Я могу получить «Дату создания» через редактор запросов (боюсь, только параметры столбца), но VSO, похоже, не разрешает доступ к датам изменения состояния. И дата начала неверна, так как PBI, возможно, какое-то время ковырялся в невыполненной работе, прежде чем он был готов к разработке.


person Andrew Kidd    schedule 15.11.2017    source источник
comment
Чтобы убедиться, что вы не создаете то, что уже существует, вы видели это: marketplace.visualstudio.com/items?itemName=ms.vss-analytics?   -  person Wouter de Kort♦    schedule 16.11.2017
comment
Спасибо... У меня есть доступ к этим графикам, но, боюсь, они не соответствуют стандартам.   -  person Andrew Kidd    schedule 17.11.2017


Ответы (1)


Невозможно добиться этого с помощью запроса по умолчанию.

Но вы можете запросить историю рабочих элементов с помощью TFS API и проверить временные метки, когда произошли переходы состояний.

Для этого обратитесь к этой статье: TFS SDK: визуализатор истории рабочих элементов с использованием TFS API

Вы также можете использовать REST API для извлечения дат изменения состояния рабочего элемента.

Например, вы можете использовать приведенный ниже пример PowerShell, чтобы изменить дату на «Committed»:

Param(
   [string]$collectionurl = "https://instance.visualstudio.com",  #If on-premise TFS change it to http://server:8080/tfs/DefaultCollection
   [string]$workitemId = "62",
   [string]$user = "username",
   [string]$token = "token"
)

# Base64-encodes the Personal Access Token (PAT) appropriately
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))

$baseUrl = "$collectionurl/_apis/wit/workitems/$($workitemId)/revisions?api-version=1.0"            
$response = (Invoke-RestMethod -Uri $baseUrl -Method Get -UseDefaultCredential -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)})
$revisions = $response.value.fields | where({$_.'System.State' -eq 'Committed'}) # Change the sate which you want to get it's changed date here 

$witrevisions = @()

foreach($revision in $revisions){

    $customObject = new-object PSObject -property @{
          "WorkItemType" = $revision.'System.WorkItemType'        
          "CommittedDate" = $revision.'System.ChangedDate'
          "ChangedBy" = $revision.'System.ChangedBy'
        } 

    $witrevisions += $customObject      
}

$witrevisions | Select-Object -Last 1 `
                WorkItemType,
                CommittedDate, 
                ChangedBy

введите здесь описание изображения

person Andy Li-MSFT    schedule 16.11.2017
comment
Спасибо... Вы подтвердили, что я не могу получить доступ к данным с помощью встроенного редактора запросов, как я и подозревал. Я не хочу кодировать решение, так как считаю, что доступ к этим данным должен быть легко доступен пользователям через пользовательский интерфейс. - person Andrew Kidd; 17.11.2017