Skip to content

Português

Elvis Souza edited this page Oct 4, 2021 · 17 revisions

Requisitos

  • SQL Server
  • Aplicação .Net Core 3.1+
  • Conta no Azure DevOps

Instalação e Configuração

Instalação do pacote

PM > Install-Package AzureDevOpsTracker -Version 1.0.1

Passo 1 - Configuração do Startup.cs

Depois da instalação, atualize seu arquivo de Startup.cs OWIN com o seguinte código:

public void ConfigureServices(IServiceCollection services)
{
    services.AddAzureDevopsStateTracker(new AzureDevopsStateTracker.Data.DataBaseConfig("[CONNECTION_STRING]"));
}

public void Configure(IApplicationBuilder app, IServiceProvider serviceProvider)
{
    app.UseAzureDevopsStateTracker(serviceProvider);
}

Para mais informações sobre a utilização dos campos adicionais ao registrar o serviço, consulte nossa página de Adicionar Serviço.

Passo 2 - Criando a Controller

Para a integração com o Service Hook do Azure DevOps, é necessário que existam dois EndPoints que recebam uma requisição POST com as Json específicas. Essas requisições receberão dados de Workitems criados e Workitems atualizados.

public class ExampleController : Controller
{
    private readonly IAzureDevopsTrackerService _azureDevopsTrackerService;

    public ExampleController(
        IAzureDevopsTrackerService azureDevopsTrackerService)
    {
        _azureDevopsTrackerService = azureDevopsTrackerService;
    }

    [HttpPost("workitem-updated")]
    public async Task<IActionResult> WorkItemUpdated([FromBody] UpdatedWorkItemDTO updatedWorkItemDTO)
    {
        await _azureDevopsTrackerService.Update(updatedWorkItemDTO);
        return Ok();
    }

    [HttpPost("workitem-created")]
    public async Task<IActionResult> WorkItemCreated([FromBody] CreateWorkItemDTO createWorkItemDTO)
    {
        await _azureDevopsTrackerService.Create(createWorkItemDTO);
        return Ok();
    }
}

Para mais informações sobre a utilização com Azure Function, consulte nossa página de Azure DevOps Function Tracker.

Configurando o DevOps

Criando Subscrição

Passo1

Configurando serviço

Passo2] Passo3] Passo4]

Os mesmos passos devem ser realizados para o WorkItem Updated

Pronto, agora todas as mudanças feitas nos WorkItems já serão salvas automaticamente no banco de dados!! 🎉😍

Exemplos

Tempo por State em uma Sprint:

select 
	t.State, 
	dbo.ToTime(AVG(t.TotalWorkedTime)) as AvgTime,
	dbo.ToTime(MAX(t.TotalWorkedTime)) as MaxTime,
	dbo.ToTime(MIN(t.TotalWorkedTime)) as MinorTime,
	dbo.ToTime(SUM(t.TotalWorkedTime)) as SumTime,
	AVG(t.TotalWorkedTime / 60 / 60) as AvgInHours
from WorkItems w
join TimeByStates t on t.WorkItemId = w.Id
where 1=1 
and w.IterationPath = 'Sprint 12'
and w.Type IN ('Bug', 'Task')
group by t.State

Tasks e Bugs que ficaram mais tempo em Active na Sprint

select 
	w.Id, 
	w.Title,
	dbo.ToTime(t.TotalWorkedTime) as TotalWorkedTime, 
	w.AssignedTo,
	t.TotalWorkedTime
from WorkItems w
join TimeByStates t on t.WorkItemId = w.Id
where w.IterationPath = 'Sprint 12'
and w.Type IN ('Bug', 'Task')
and t.TotalWorkedTime > 60
and t.State = 'Active'
order by t.TotalWorkedTime desc

Melhorias em andamento

Board Status

Clone this wiki locally