feat: Create org-mode headlines from query

Merges in a function which has existed in my local setup for a while now
to run a query to Clubhouse and create all the results as org headlines
at a specified level
This commit is contained in:
Griffin Smith 2018-09-26 11:41:33 -04:00
parent 1ae8ab35b3
commit 1b0b98ec7d

View file

@ -728,6 +728,37 @@ allows manually passing a clubhouse ID and list of org-element plists to write"
(message "Successfully updated clubhouse status to \"%s\""
clubhouse-workflow-state)))))
(defun org-clubhouse-headlines-from-query (level query)
"Create `org-mode' headlines from a clubhouse query.
Submits QUERY to clubhouse, and creates `org-mode' headlines from all the
resulting stories at headline level LEVEL."
(interactive
"*nLevel: \nMQuery: ")
(let* ((sprint-stories
(org-clubhouse-request
"GET"
"search/stories"
:params '((query query))))
(sprint-story-list (-> sprint-stories cdr car cdr (append nil))))
(save-mark-and-excursion
(insert
(mapconcat (lambda (story)
(format
"%s TODO %s
:PROPERTIES:
:clubhouse-id: %s
:END:
"
(make-string level ?*)
(alist-get 'name story)
(let ((story-id (alist-get 'id story)))
(org-make-link-string
(org-clubhouse-link-to-story story-id)
(number-to-string story-id)))))
(reject-archived sprint-story-list) "\n")))))
(define-minor-mode org-clubhouse-mode
:init-value nil
:group 'org