Hello all,
This is my first Clojure program and I was hoping to get some advice on it 
since I don't know any experienced Clojure devs. I'm using it locally to 
print the latest build numbers for a list of projects.

```
(ns jlorenzen.core
  (:gen-class)
  (:require [clj-http.client :as client])
  (:require [cheshire.core :refer :all]))

(defn fetch-pipeline
[pipeline]
(client/get (str "https://example.com/go/api/pipelines/"; pipeline 
"/history")
{:basic-auth "username:password"}))

(defn get-latest-build
[pipeline]
(let [response (fetch-pipeline pipeline)
json (parse-string (:body response) true)]
(let [[pipeline] (:pipelines json)]
(:counter pipeline))))

(def core-projects #{"projectA"
"projectB"
"projectC"
"projectD"})

(defn print-builds
([]
(print-builds core-projects))
([projects]
(let [builds (pmap #(str % " " (get-latest-build %)) projects)]
(map #(println %) (sort builds)))))
```

This will output the following:
```
projectA 156
projectB 205
projectC 29
projectD 123
(nil nil nil nil)
```

A few questions:

   - How can this program be improved?
   - How idiomatic is it?
   - How can I prevent it from returning the nils at the end? I know this 
   is returning nil for each map'd item; I just don't know the best way to 
   prevent that.

Thanks,
James Lorenzen

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/ccb868e0-7e0c-46df-80fc-712f718314e3n%40googlegroups.com.

Reply via email to