(defun project-job-information (name)
(let
- ((project (find name *all-project* :test #'string= :key #'project-name)))
- (when (not project) (error "Project does not exist"))
- (mapcar #'job->job-information (find-job-by-project project))))
+ ((project (when name (find name *all-project* :test #'string= :key #'project-name))))
+ (when (and name (not project)) (error "Project does not exist"))
+ (mapcar #'job->job-information
+ (if project
+ (find-job-by-project project)
+ *all-job*))))
(defun get-job-log (project-name sha)
(let*
(project-name project)
(project-src project)))
*all-project*))
+
+(defun failures (project-name)
+ (length
+ (remove-if-not
+ (lambda (branch) (eql :failed (job-status (branch-job branch))))
+ (if project-name
+ (find-branch-by-project
+ (find project-name *all-project* :test #'string= :key #'project-name))
+ *all-branch*))))