diff options
| author | Yuchen Pei <hi@ypei.me> | 2023-03-30 00:55:55 +1100 | 
|---|---|---|
| committer | Yuchen Pei <hi@ypei.me> | 2023-03-30 00:55:55 +1100 | 
| commit | f5a35a82a62612fa8f6537b4da6ebdea8192a196 (patch) | |
| tree | 3da25efacb1a76100eff668d0a7b39a9a14310eb | |
| parent | f5b97b439a2a1a7d13c60f1b711edf704542a038 (diff) | |
started working on builder view
| -rw-r--r-- | buildbot-client.el | 18 | ||||
| -rw-r--r-- | buildbot-view.el | 9 | 
2 files changed, 27 insertions, 0 deletions
diff --git a/buildbot-client.el b/buildbot-client.el index 64c308f..ecc5757 100644 --- a/buildbot-client.el +++ b/buildbot-client.el @@ -46,6 +46,12 @@      "%s/api/v2/builders"      buildbot-host))) +(defun buildbot-api-builders-builds (builder-id attr) +  (buildbot-url-fetch-json +   (format +    "%s/api/v2/builders/%d/builds?%s" +    buildbot-host builder-id (buildbot-format-attr attr)))) +  (defun buildbot-api-build (attr)    (buildbot-url-fetch-json     (format @@ -62,6 +68,12 @@    (buildbot-url-fetch-raw     (format "%s/api/v2/logs/%d/raw" buildbot-host logid))) +(defun buildbot-get-recent-builds-by-builder (builder-id limit) +  (alist-get 'builds +             (buildbot-api-builders-builds +              builder-id +              `((limit . ,limit) (order . "-number") (property . "revision"))))) +  (defun buildbot-get-recent-changes (limit)    (buildbot-api-change (list (cons 'order "-changeid") (cons 'limit limit)))) @@ -74,6 +86,12 @@       (= (alist-get 'builderid builder) builderid))     buildbot-builders)) +(defun buildbot-builder-by-name (name) +  (cl-find-if +   (lambda (builder) +     (equal (alist-get 'name builder) name)) +   buildbot-builders)) +  (defun buildbot-get-logs-by-stepid (stepid)    (alist-get 'logs (buildbot-api-logs stepid))) diff --git a/buildbot-view.el b/buildbot-view.el index 8e3590d..ebeef70 100644 --- a/buildbot-view.el +++ b/buildbot-view.el @@ -229,6 +229,15 @@    (interactive "sBranch name: ")    (buildbot-view-open 'branch `((branch . ,branch)))) +;;;###autoload +(defun buildbot-builder-open (builder-name) +  (interactive (list (completing-read +                      "Builder name: " +                      (mapcar +                       (lambda (builder) (alist-get 'name builder)) +                       buildbot-builders)))) +  (buildbot-view-open 'builder `((builder . ,builder)))) +  (defun buildbot-view-update ()    (unless (derived-mode-p 'buildbot-view-mode)      (error "Not in buildbot view mode"))  | 
