That button in the Job Monitor just launches the Job History Report, which doesn't work for future instances, so nothing happens if there are no past instances shown. We should rethink this so you can produce something useful from this view.
You can use one of the Job Execution Schedule reports to get a listing. The report viewer will let you export the report to CSV, XLS, etc., but the file it produces is a little messy.
To use the API, you want the GetJobExecutionTimes method. This example gets all scheduled executions for the current day and writes them to the console in CSV format:
using (var session = Scheduler.Connect(ServerName, LoginAuthenticationType.Windows, "", ""))
{
using (var context = session.NewDataContext())
{
var parms=new JobQueryParameters();
//Add WellKnownOIDs.RootGroup to look at all jobs.
//Alternatively, add the OIDs of specific jobs or groups you want to report on
parms.TargetObjects.Add(WellKnownOIDs.RootGroup);
parms.IncludeHeldJobs= IncludeExcludeType.Exclude; //don't include held jobs in the report
//get execution times for all of today
var today = DateTime.Now;
var startTime=DateTimeHandling.StartOfDay(today);
var endTime=DateTimeHandling.EndOfDay(today);
var runtimes=context.GetJobExecutionTimes(parms,startTime,endTime);
foreach(var item in runtimes)
{
//each item represents a job with scheduled executions
foreach(var runtime in item.ExecutionTimes)
{
//each runtime is the date/time of the scheduled execution
Console.Write("\"{0}\",{1:yyyy-MM-dd HH:mm}\n", item.FullyQualifiedJobName, runtime);
}
}
}
}