ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Workflow.Client.Models Namespace / IJobsManager Interface
Members Example

In This Topic
    IJobsManager Interface
    In This Topic
    Provides access to the jobs within Workflow Manager.
    Object Model
    IJobsManager InterfaceJobStatistics ClassJob ClassSearchResult Class
    Syntax
    public interface IJobsManager 
    Public Interface IJobsManager 
    Example
    How to get the job Id associated with the active map view
    // Get the job Id associated with the active map view
    var jobManager = WorkflowClientModule.JobsManager;
    var jobId = jobManager.GetJobId();
    How to get the job Id associated with a map
    // Get the job Id associated with a map
    mapUri = "myMapUri"; // Get a reference to a map using the ArcGIS.Desktop.Mapping API (active view, project item, etc.)
    var jobManager = WorkflowClientModule.JobsManager;
    var jobId = jobManager.GetJobId(mapUri);
    How to get a job
    // GetJob returns an existing job
    try
    {
      var jobManager = WorkflowClientModule.JobsManager;
      var job = jobManager.GetJob(jobId);
      // Do something with the job
    }
    catch (NotConnectedException)
    {
      // Not connected to Workflow Manager server, do some error handling
    }
    Search for jobs using a detailed query
    var search = new SearchQuery()
    {
      // Search for all open high priority jobs assigned to users
      Q = "closed=0 AND assignedType='User' AND priority='High'",
      Fields = new List<string> { "jobId", "jobName", "assignedTo", "dueDate" },
      // Sort by job assignment in ascending order and due date in descending order
      SortFields = new List<SortField> 
      { 
        new SortField() { FieldName = "assignedTo", SortOrder = ArcGIS.Desktop.Workflow.Client.Models.SortOrder.Asc },
        new SortField() { FieldName = "dueDate", SortOrder = ArcGIS.Desktop.Workflow.Client.Models.SortOrder.Desc }
      }
    };
    var jobManager = WorkflowClientModule.JobsManager;
    var searchResults = jobManager.SearchJobs(search);
    var fields = searchResults.Fields;
    var results = searchResults.Results;
    Search for jobs using a detailed query with an arcade expression
    var search = new SearchQuery()
    {
      // Search for jobs assigned to the current user using the arcade expression '$currentUser'
      Q = "\"assignedType='User' AND closed=0 AND assignedTo='\" + $currentUser + \"' \"",
      Fields = new List<string> { "jobId", "jobName", "assignedTo", "dueDate"},
      // Sort by job name in ascending order
      SortFields = new List<SortField> { new SortField() { FieldName = "jobName", SortOrder = ArcGIS.Desktop.Workflow.Client.Models.SortOrder.Asc }}
    };
    var jobManager = WorkflowClientModule.JobsManager;
    var searchResults = jobManager.SearchJobs(search);
    var fields = searchResults.Fields;
    var results = searchResults.Results;
    Search for jobs using a simple string
    var search = new SearchQuery() { Search = "My Search String" };
    var jobManager = WorkflowClientModule.JobsManager;
    var searchResults = jobManager.SearchJobs(search);
    var fields = searchResults.Fields;
    var results = searchResults.Results;
    Get statistics for jobs
    var query = new JobStatisticsQuery()
    {
      // Search for open jobs assigned to users
      Q = "\"assignedType='User' AND closed=0 \""
    };
    var jobManager = WorkflowClientModule.JobsManager;
    var results = jobManager.CalculateJobStatistics(query);
    var totalJobs = results.Total;
    How to run steps on a job
    var jobManager = WorkflowClientModule.JobsManager;
    jobManager.RunSteps(jobId);
    How to run specific steps on a job
    var jobManager = WorkflowClientModule.JobsManager;
    // Specify specific current steps in a job to run
    stepIds = new List<string> { "step12345", "step67890" };
    jobManager.RunSteps(jobId, stepIds);
    How to stop running steps on a job
    var jobManager = WorkflowClientModule.JobsManager;
    // Get the job Id associated with the active map view
    var jobId = jobManager.GetJobId();
    // Stop the current steps in the job with the given id.
    jobManager.StopSteps(jobId);
    How to stop specific running steps on a job
    var jobManager = WorkflowClientModule.JobsManager;
    // Get the job Id associated with the active map view
    var jobId = jobManager.GetJobId();
    // Specify specific running steps in a job to stop
    stepIds = new List<string> { "step12345", "step67890" };
    jobManager.StopSteps(jobId, stepIds);
    How to finish steps on a job
    var jobManager = WorkflowClientModule.JobsManager;
    // Finish the current steps in the job with the given id.
    jobManager.FinishSteps(jobId);
    How to finish specific steps on a job
    var jobManager = WorkflowClientModule.JobsManager;
    stepIds = new List<string> { "step12345", "step67890" };
    jobManager.FinishSteps(jobId, stepIds);
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.1 or higher.
    See Also