aboutsummaryrefslogtreecommitdiff
path: root/data.go
diff options
context:
space:
mode:
Diffstat (limited to 'data.go')
-rw-r--r--data.go43
1 files changed, 40 insertions, 3 deletions
diff --git a/data.go b/data.go
index 5512f0f..4f92795 100644
--- a/data.go
+++ b/data.go
@@ -39,12 +39,12 @@ type Data struct {
token string
num int
projectId int
- filterId int
minimumVersion string
tmpl *template.Template
ctx context.Context
Issues Issues
+ Projects Projects
Timestamp time.Time
Freq time.Duration
Lasterror error
@@ -70,9 +70,29 @@ func NewData(ctx context.Context, url, token string, num int) *Data {
return data
}
+const statusFilter = `status%5B%5D=10&status%5B%5D=20&status%5B%5D=30&status%5B%5D=40&status%5B%5D=50&severity%5B%5D=20`
+
+var fields = []string{"id",
+ "description",
+ "summary",
+ "category",
+ "target_version",
+ "status",
+ "reporter",
+ "handler",
+ "resolution",
+ "priority",
+ "severity",
+ "created_at",
+ "updated_at",
+ "relationships",
+ "tags",
+}
+
func (d *Data) update() {
- url := fmt.Sprintf("%s?project_id=%dfilter_id=%d&page_size=%d",
- d.url, d.projectId, d.filterId, d.num)
+ url := fmt.Sprintf("%s/issues?project_id=%d&page_size=%d&%s&select=%s",
+ d.url, d.projectId, d.num, statusFilter,
+ strings.Join(fields, ","))
req, e := http.NewRequestWithContext(d.ctx, "GET", url, nil)
if nil != e {
d.mux.Lock()
@@ -115,6 +135,23 @@ func (d *Data) update() {
}
}
d.Issues = issues
+ fmt.Println("got", len(issues), "issues")
+}
+
+func (d *Data) Loop() {
+ d.update()
+ go func() {
+ var ticker = time.NewTicker(d.Freq)
+ for range ticker.C {
+ select {
+ case <-d.ctx.Done():
+ return
+ default:
+ fmt.Println("updating data")
+ d.update()
+ }
+ }
+ }()
}
func (d *Data) printJSON(w io.Writer) {