ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Workflow.Models Namespace / WorkflowConnection Class / GetManager<T> Method
Type of manager. JobsManager or ConfigurationManager
Example

In This Topic
    GetManager<T> Method
    In This Topic
    Gets the specified manager from the Workflow Manager connection.
    Syntax
    public T GetManager<T>()
    where T: IInternalWorkflowManager
    Public Function GetManager(Of T As IInternalWorkflowManager)() As T

    Type Parameters

    T
    Type of manager. JobsManager or ConfigurationManager

    Return Value

    The specified manager for the Workflow Manager connection.
    Example
    How to get managers objects
    // WorkflowModule.GetManager returns a manager of the type specified
    // keyword is currently just an empty string
    var wfCon = await WorkflowModule.ConnectAsync();
    var jobManager = wfCon.GetManager<JobsManager>();
    var configManager = wfCon.GetManager<ConfigurationManager>();
    How to get groups
    // GetAllGroups returns a list of Workflow Manager groups
    var wfCon = await WorkflowModule.ConnectAsync();
    var configManager = wfCon.GetManager<ConfigurationManager>();
    var allGroups = configManager.GetAllGroups();
    How to get users
    // GetAllUsers returns a list of Workflow Manager users
    var wfCon = await WorkflowModule.ConnectAsync();
    var configManager = wfCon.GetManager<ConfigurationManager>();
    var allUsers = configManager.GetAllUsers();
    How to get job types
    // GetVisibleJobTypes returns a list of job types
    var wfCon = await WorkflowModule.ConnectAsync();
    var configManager = wfCon.GetManager<ConfigurationManager>();
    var jobTypes = configManager.GetVisibleJobTypes();
    How to create a job
    // CreateJob returns an ID of a new job
    // it is a passed a valid job type ID as an integer
    var wfCon = await WorkflowModule.ConnectAsync();
    var jobManager = wfCon.GetManager<JobsManager>();
    var jobID = jobManager.CreateNewJob(jobTypeID);
    How to get a job
    // GetJob returns an existing job
    // it is passed a valid job ID as an integer
    var wfCon = await WorkflowModule.ConnectAsync();
    var jobManager = wfCon.GetManager<JobsManager>();
    var job = jobManager.GetJob(jobID);
    How to get a job associated with a map
    // Get a job associated with the map
    var wfCon = await WorkflowModule.ConnectAsync();
    var jobManager = wfCon.GetManager<JobsManager>();
    var job = jobManager.GetJob(map);
    if (job != null)
    {
      // Job found, do something with the job
      var jobId = job.ID;
    }
    How to close a job
    // CloseJobs returns a list of closed job IDs
    // it is passed a list of job IDs to close
    var wfCon = await WorkflowModule.ConnectAsync();
    var jobManager = wfCon.GetManager<JobsManager>();
    var jobIDs = jobManager.CloseJobs(jobIdsToClose);
    How to access job info and change it
    // You can change many of the exposed properties of a job and then save them
    var wfCon = await WorkflowModule.ConnectAsync();
    var jobManager = wfCon.GetManager<JobsManager>();
    var job = jobManager.GetJob(jobID);
    job.Description = "This is a test";
    job.Save();
    How to Execute a step on a job
    // Gets the current step
    // checks to see if it can execute it
    // proceeds to do so if it can
    var wfCon = await WorkflowModule.ConnectAsync();
    var jobManager = wfCon.GetManager<JobsManager>();
    var job = jobManager.GetJob(jobID);
    string stepID = job.GetCurrentSteps().First();
    if (job.CanExecuteStep(stepID).Item1)
      job.ExecuteStep(stepID);
    How to execute a Query
    // ExecuteQuery returns a query result
    // Its passed either an ID or a name
    var wfCon = await WorkflowModule.ConnectAsync();
    var jobManager = wfCon.GetManager<JobsManager>();
    var queryResultReturn = jobManager.ExecuteQuery("All Jobs");
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also