ArcGIS Pro 3.6 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
    Get the job Id associated with the active map view
    // Get the job Id associated with the active map view
    var jobsManager = WorkflowClientModule.JobsManager;
    var jobId = jobsManager.GetJobId();
    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 jobsManager = WorkflowClientModule.JobsManager;
    var jobId = jobsManager.GetJobId(mapUri);
    Get a job
    // GetJob returns an existing job
    try
    {
      var jobsManager = WorkflowClientModule.JobsManager;
      var job = jobsManager.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 jobsManager = WorkflowClientModule.JobsManager;
    var searchResults = jobsManager.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 jobsManager = WorkflowClientModule.JobsManager;
    var searchResults = jobsManager.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 jobsManager = WorkflowClientModule.JobsManager;
    var searchResults = jobsManager.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 jobsManager = WorkflowClientModule.JobsManager;
    var results = jobsManager.CalculateJobStatistics(query);
    var totalJobs = results.Total;
    Run steps on a job
    var jobsManager = WorkflowClientModule.JobsManager;
    jobsManager.RunSteps(jobId);
    Run specific steps on a job
    var jobsManager = WorkflowClientModule.JobsManager;
    // Specify specific current steps in a job to run
    stepIds = new List<string> { "step12345", "step67890" };
    jobsManager.RunSteps(jobId, stepIds);
    Stop running steps on a job
    var jobsManager = WorkflowClientModule.JobsManager;
    // Get the job Id associated with the active map view
    var jobId = jobsManager.GetJobId();
    // Stop the current steps in the job with the given id.
    jobsManager.StopSteps(jobId);
    Stop specific running steps on a job
    var jobsManager = WorkflowClientModule.JobsManager;
    // Get the job Id associated with the active map view
    var jobId = jobsManager.GetJobId();
    // Specify specific running steps in a job to stop
    stepIds = new List<string> { "step12345", "step67890" };
    jobsManager.StopSteps(jobId, stepIds);
    Finish steps on a job
    var jobsManager = WorkflowClientModule.JobsManager;
    // Finish the current steps in the job with the given id.
    jobsManager.FinishSteps(jobId);
    Finish specific steps on a job
    var jobsManager = WorkflowClientModule.JobsManager;
    stepIds = new List<string> { "step12345", "step67890" };
    jobsManager.FinishSteps(jobId, stepIds);
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.1 or higher.
    See Also