diff options
author | 2014-08-21 00:23:56 +0200 | |
---|---|---|
committer | 2014-08-21 00:23:56 +0200 | |
commit | c2778f0f713cc885087d6302196e421596ff248e (patch) | |
tree | f289c9e52bcaa6dd1ef7b64343df78492a36141d /emacs/.emacs.d/site-lisp/pivot.el | |
parent | 05415b9b2c455fb5e5f2521610b9d7dd33385d21 (diff) | |
download | dotfiles-c2778f0f713cc885087d6302196e421596ff248e.tar.gz dotfiles-c2778f0f713cc885087d6302196e421596ff248e.zip |
Add Emacs config
Diffstat (limited to 'emacs/.emacs.d/site-lisp/pivot.el')
-rw-r--r-- | emacs/.emacs.d/site-lisp/pivot.el | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/emacs/.emacs.d/site-lisp/pivot.el b/emacs/.emacs.d/site-lisp/pivot.el new file mode 100644 index 0000000..63830ab --- /dev/null +++ b/emacs/.emacs.d/site-lisp/pivot.el @@ -0,0 +1,70 @@ +;;; pivot.el --- Elisp library for the Pivotal Tracker API -*- lexical-binding: t; -*- + +;; Copyright (C) 2014 Tom Willemse + +;; Author: Tom Willemse <tom@ryuslash.org> +;; Keywords: comm, hypermedia + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see <http://www.gnu.org/licenses/>. + +;;; Commentary: + +;; + +;;; Code: + +(require 'url) + +(defgroup pivotel nil + "Communicate with Pivotal Tracker." + :group 'external) + +(defcustom pivotel-api-token nil + "API token from Pivotal Tracker. + +From Pivotal Tracker: Your token enables access to your project +and story data via the API, and needs to be kept private." + :group 'pivotel) + +(defvar pivotel-api-url + "https://www.pivotaltracker.com/services/v5" + "Base URL of the Pivotal Tracker API. + +Does not need a final `/'.") + +(defun pivotel-get-story (project story) + "Get data from PROJECT for STORY." + (let ((url-request-extra-headers + `(("X-TrackerToken" . ,pivotel-api-token)))) + (with-current-buffer + (url-retrieve-synchronously + (format "%s/projects/%d/stories/%d" + pivotel-api-url project story)) + (goto-char (point-min)) + (search-forward "\n\n") + (json-read)))) + +(defun pivotel-get-projects () + "Get a list of all projects." + (let ((url-request-extra-headers + `(("X-TrackerTocken" . ,pivotel-api-token)))) + (with-current-buffer + (url-retrieve-synchronously + (format "%s/projects" pivotel-api-url)) + (goto-char (point-min)) + (search-forward "\n\n") + (json-read)))) + +(provide 'pivot) +;;; pivot.el ends here |