public bool UpdateJob(JenkinsJob Job, bool Notify = true) { if (Job.IsTemporary && !Job.Building) { if (Job.RemoveIfCompleted) { RemoveJob(Job); } return(true); // Temporary jobs done are not updated } JenkinsWorkflow updatedJob = GetJobReport(Job); if (updatedJob == null) { return(false); } JenkinsJob oldJob = Job.Clone() as JenkinsJob; Job.UpdateJobStatus(updatedJob); if (Notify && oldJob.DoNotify(updatedJob)) { NotifyListeners(Job); } return(true); }
public void AddNewJob(JenkinsJob NewJob) { JenkinsWorkflow job = GetJobReport(NewJob); if (job == null) { return; } NewJob.UpdateJobStatus(job); lock (jobs) { this.jobs.Add(NewJob); } lastIndex = NewJob.Index; eventHandler.JobAdded(NewJob); }