diff options
| -rw-r--r-- | build-farm-build.el | 9 | ||||
| -rw-r--r-- | build-farm.el | 7 |
2 files changed, 15 insertions, 1 deletions
diff --git a/build-farm-build.el b/build-farm-build.el index 83345e8..56e8066 100644 --- a/build-farm-build.el +++ b/build-farm-build.el @@ -29,7 +29,8 @@ (require 'build-farm-url) (build-farm-define-entry-type build - :search-types '((latest . build-farm-build-latest-api-url) + :search-types '((id . build-farm-build-url) + (latest . build-farm-build-latest-api-url) (queue . build-farm-build-queue-api-url)) :filters '(build-farm-build-filter-status) :filter-names '((nixname . name) @@ -406,6 +407,12 @@ NUMBER. With prefix argument, prompt for it." build-farm-number-of-builds))) (build-farm-get-display build-farm-url 'build 'queue number)) +;;;###autoload +(defun build-farm-build (id) + "Find build by its ID and display it." + (interactive "nBuild ID: ") + (build-farm-get-display build-farm-url 'build 'id id)) + (provide 'build-farm-build) ;;; build-farm-build.el ends here diff --git a/build-farm.el b/build-farm.el index 4c72512..969b098 100644 --- a/build-farm.el +++ b/build-farm.el @@ -37,6 +37,7 @@ ;; ;; - `build-farm-latest-builds' ;; - `build-farm-queued-builds' +;; - `build-farm-build' ;; - `build-farm-jobsets' ;; - `build-farm-projects' ;; - `build-farm-project' @@ -206,6 +207,12 @@ SEARCH-TYPE and ARGS." (let* ((url (apply #'build-farm-search-url root-url entry-type search-type args)) (raw-entries (build-farm-receive-data url)) + (raw-entries (cond + ((eq search-type 'id) + ;; We expect multiple entries so wrap a single + ;; ID entry into a list. + (list raw-entries)) + (t raw-entries))) (entries (apply #'build-farm-modify-objects raw-entries (build-farm-filters entry-type)))) |
