Entry point into plugin with Batch Tasks API

I am making progress with the Batch Tasks API, but I still don't understand how Studio enters my plugin code. There must be one or more methods that are called, but I don't see where that is defined.

I also wonder exactly what parameters Studio passes to my plugin code? If all batch tasks are designed to operate on files, then there must be a list of input files.

Can anyone point me in the right direction? Here is the Batch Tasks API reference: http://producthelp.sdl.com/SDK/BatchTaskApi/2017/html/cb547244-58ba-f143-931d-b04b3d7f5922.htm

Thanks,

Gary

Parents Reply
  • Hi Gary,

    not knowing more about what your code looks like, here is an example how I achieve this, maybe it helps ("_project" being a FileBasedProject):

     

    var sequence = _project.RunAutomaticTask(tGuids, AutomaticTaskTemplateIds.AnalyzeFiles);
    isDone = false;
    while (!isDone)
    {
        Thread.Sleep(100);
        isDone = (sequence.Status == Sdl.ProjectAutomation.Core.TaskStatus.Completed ||
                  sequence.Status == Sdl.ProjectAutomation.Core.TaskStatus.Failed);
    }

    try
    {
        var reportId = sequence2.Reports[0].Id;
        _project.SaveTaskReportAs(reportId,
            Path.Combine(studioPath, "Reports", $"Analysis_{projNumber}_{DateTime.Now.ToShortDateString()}.xlsx"),
            ReportFormat.Excel);
    }
    catch(Exception ex)
    {
        //Do exceptional stuff
    }

     

    I assume your problem is somewhere in "SaveTaskReportAs" - or maybe you haven't saved at all yet?

     

    Best,

    Andreas

Children