title: How to get JobKey / JobDetail of Quartz Job
body: <p>I'm having trouble to understand how I can get the details of a job with Quartz version 2.3.2.</p>
  
  <p>Until now, we used Quartz v1.0.x for jobs and I have to upgrade it to the latest version.</p>
  
  <p>This is how we used to get the details of a job:</p>
  
  <pre><code>JobDetail job = scheduler.GetJobDetail(task.Name, groupName);
  </code></pre>
  
  <p>With version 2.3.2, the method <code>GetJobDetail()</code> doesn't have a constructor that takes 2 parameter anymore... instead, it takes a <code>JobKey</code> parameter.</p>
  
  <p>Unfortunately I couldn't find a way to get a single JobKey.
  What I tried is the following:</p>
  
  <pre><code>string groupName = !string.IsNullOrEmpty(task.GroupNameExtension) ? task.GroupNameExtension : task.GroupName;
  var jobkeys = quartzScheduler.GetJobKeys(GroupMatcher&lt;JobKey&gt;.GroupContains(groupName));
  var jobkey = jobkeys.Single(x =&gt; x.Name == task.Name);
  var jobDetail = quartzScheduler.GetJobDetail(jobkey);
  </code></pre>
  
  <ul>
  <li>Is this the correct way to implement it / get the jobKey? (will there always be only one jobkey on the line <code>var jobkey = jobkey.Single(...)</code>?</li>
  <li>Is there really no way to get a JobDetail without getting <strong>all</strong> the JobKeys first?</li>
  <li>Is this the way Quartz wants us to get the JobDetail or is there a better / simpler way?</li>
  </ul>
  
  <p>Thanks in advance</p>