Integração com Taskrow


Índice

Sobre o Taskrow

O Taskrow é uma ferramenta de Gestão e Produtividade, nele você

Para saber mais: https://taskrow.com/

Sobre o TaskrowSharp

O TaskrowSharp é uma lib em .NET que facilita a integração com o Taskrow, com ela você pode realizar operações como:

Utilizando

Por enquanto não há um Package do nuget disponível, então é necessário baixar a DLL e adicionar no seu projeto. A DLL compilada está disponível em: https://github.com/TaskrowSharp/TaskrowSharp/tree/master/binaries/

Baixe o arquivo e adicione como referência no seu projeto

Obter chave de acesso do seu usuário do Taskrow

Para conectar no Taskrow via API é necessário obter uma chave de acesso, para obter a chave de acesso de um usuário, faça o seguinte:

Listar usuários

Exemplo de implementação:

var httpClient = new HttpClient();
//TIP: HttpClient is intended to be instantiated once and reused throughout the life of an application, more info: https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpclient
//TIP: You can use a retry policy with Poly, more info: https://learn.microsoft.com/en-us/dotnet/architecture/microservices/implement-resilient-applications/implement-http-call-retries-exponential-backoff-polly

var taskrowClient = new TaskrowSharp.TaskrowClient(new Uri("https://yourdomain.taskrow.com"), "AccessKey_xxxxxxxxxxxxx", httpClient);
var users = await taskrowClient.ListUsersAsync();

Encaminhar tarefa

Exemplo de implementação:

var taskrowClient = new TaskrowSharp.TaskrowClient(new Uri("https://yourdomain.taskrow.com"), "AccessKey_xxxxxxxxxxxxx", httpClient);
var users = await taskrowClient.ListUsersAsync();

var taskReference = new TaskReference("client", 12, 1235);
var taskResponse = await _taskrowClient.GetTaskDetailAsync(taskReference);
var task = taskResponse.TaskData;

var taskComment = "Task forwarded";
int ownerUserID = users.First().UserID;
var dueDate = DateTime.Now.Date;

var request = new SaveTaskRequest(taskResponse.JobData.Client.ClientNickName, taskResponse.JobData.JobNumber, task.TaskNumber, task.TaskID)
{
    TaskTitle = task.TaskTitle,
    TaskItemComment = taskComment,
    OwnerUserID = ownerUserID,
    RowVersion = task.RowVersion,
    LastTaskItemID = task.NewTaskItems.Last().TaskItemID,
    DueDate = dueDate.ToString("yyyy-MM-dd"),
    EffortEstimation = task.EffortEstimation
};

var response = await _taskrowClient.SaveTaskAsync(request);


Comentários