diff options
author | Özgür Kesim <oec@codeblau.de> | 2023-12-27 13:20:51 +0100 |
---|---|---|
committer | Özgür Kesim <oec@codeblau.de> | 2023-12-27 13:20:51 +0100 |
commit | 61c174dd2bdabcb4ee953e2e50ea141567515140 (patch) | |
tree | dca4b53e34a08b2ced30add87e9611a5b1a7e960 /data.go | |
parent | f41cbf148196f77b4ce0e2c912e14ee31dbf7837 (diff) |
move update into data.go
Diffstat (limited to 'data.go')
-rw-r--r-- | data.go | 43 |
1 files changed, 40 insertions, 3 deletions
@@ -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) { |