Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(345)

Side by Side Diff: milo/appengine/buildbucket/buckets.go

Issue 2944633003: [milo] Add BuildSummary and common models. (Closed)
Patch Set: add comments Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « milo/appengine/buildbot/structs.go ('k') | milo/appengine/buildbucket/builder.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2017 The LUCI Authors. All rights reserved. 1 // Copyright 2017 The LUCI Authors. All rights reserved.
2 // Use of this source code is governed under the Apache License, Version 2.0 2 // Use of this source code is governed under the Apache License, Version 2.0
3 // that can be found in the LICENSE file. 3 // that can be found in the LICENSE file.
4 4
5 package buildbucket 5 package buildbucket
6 6
7 import ( 7 import (
8 "errors" 8 "errors"
9 "fmt" 9 "fmt"
10 10
11 "golang.org/x/net/context" 11 "golang.org/x/net/context"
12 12
13 "github.com/luci/luci-go/milo/api/resp" 13 "github.com/luci/luci-go/milo/api/resp"
14 "github.com/luci/luci-go/milo/appengine/common" 14 "github.com/luci/luci-go/milo/appengine/common"
15 ) 15 )
16 16
17 func GetAllBuilders(c context.Context) (*resp.CIService, error) { 17 func GetAllBuilders(c context.Context) (*resp.CIService, error) {
18 settings := common.GetSettings(c) 18 settings := common.GetSettings(c)
19 bucketSettings := settings.Buildbucket 19 bucketSettings := settings.Buildbucket
20 if bucketSettings == nil { 20 if bucketSettings == nil {
21 return nil, errors.New("buildbucket settings missing in config") 21 return nil, errors.New("buildbucket settings missing in config")
22 } 22 }
23 result := &resp.CIService{ 23 result := &resp.CIService{
24 Name: "Swarmbucket", 24 Name: "Swarmbucket",
25 » » Host: &resp.Link{ 25 » » Host: resp.NewLink(bucketSettings.Name, "https://"+bucketSetting s.Host),
26 » » » Label: bucketSettings.Name,
27 » » » URL: "https://" + bucketSettings.Host,
28 » » },
29 } 26 }
30 client, err := newSwarmbucketClient(c, bucketSettings.Host) 27 client, err := newSwarmbucketClient(c, bucketSettings.Host)
31 if err != nil { 28 if err != nil {
32 return nil, err 29 return nil, err
33 } 30 }
34 // TODO(hinoka): Retries for transient errors 31 // TODO(hinoka): Retries for transient errors
35 r, err := client.GetBuilders().Do() 32 r, err := client.GetBuilders().Do()
36 if err != nil { 33 if err != nil {
37 return nil, err 34 return nil, err
38 } 35 }
39 36
40 result.BuilderGroups = make([]resp.BuilderGroup, len(r.Buckets)) 37 result.BuilderGroups = make([]resp.BuilderGroup, len(r.Buckets))
41 for i, bucket := range r.Buckets { 38 for i, bucket := range r.Buckets {
42 group := resp.BuilderGroup{Name: bucket.Name} 39 group := resp.BuilderGroup{Name: bucket.Name}
43 group.Builders = make([]resp.Link, len(bucket.Builders)) 40 group.Builders = make([]resp.Link, len(bucket.Builders))
44 for j, builder := range bucket.Builders { 41 for j, builder := range bucket.Builders {
45 » » » group.Builders[j] = resp.Link{ 42 » » » group.Builders[j] = *resp.NewLink(
46 » » » » Label: builder.Name, 43 » » » » builder.Name, fmt.Sprintf("/buildbucket/%s/%s", bucket.Name, builder.Name))
47 » » » » URL: fmt.Sprintf("/buildbucket/%s/%s", bucket. Name, builder.Name),
48 » » » }
49 } 44 }
50 result.BuilderGroups[i] = group 45 result.BuilderGroups[i] = group
51 } 46 }
52 47
53 return result, nil 48 return result, nil
54 } 49 }
OLDNEW
« no previous file with comments | « milo/appengine/buildbot/structs.go ('k') | milo/appengine/buildbucket/builder.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698