summaryrefslogtreecommitdiff
path: root/misc/dashboard
diff options
context:
space:
mode:
authorDavid Symonds <dsymonds@golang.org>2012-07-30 14:13:12 +1000
committerDavid Symonds <dsymonds@golang.org>2012-07-30 14:13:12 +1000
commit81a456cb01a129c9bc3e7b229279f465710c622e (patch)
tree86fe4c0ad4cb47dcaa019b8cb0262b4a0e9b4e29 /misc/dashboard
parent77a23b19ace04b6bef9b4e868fa04542b6bdf6b0 (diff)
downloadgo-81a456cb01a129c9bc3e7b229279f465710c622e.tar.gz
misc/dashboard/codereview: switch to using gobot to update CL reviewer info.
R=rsc CC=golang-dev http://codereview.appspot.com/6453063
Diffstat (limited to 'misc/dashboard')
-rw-r--r--misc/dashboard/codereview/dashboard/cl.go36
1 files changed, 11 insertions, 25 deletions
diff --git a/misc/dashboard/codereview/dashboard/cl.go b/misc/dashboard/codereview/dashboard/cl.go
index a53a28628..866594776 100644
--- a/misc/dashboard/codereview/dashboard/cl.go
+++ b/misc/dashboard/codereview/dashboard/cl.go
@@ -14,7 +14,6 @@ import (
"io"
"io/ioutil"
"net/http"
- netmail "net/mail"
"net/url"
"regexp"
"sort"
@@ -23,7 +22,6 @@ import (
"appengine"
"appengine/datastore"
- "appengine/mail"
"appengine/taskqueue"
"appengine/urlfetch"
"appengine/user"
@@ -35,6 +33,7 @@ func init() {
}
const codereviewBase = "http://codereview.appspot.com"
+const gobotBase = "http://research.swtch.com/gobot_codereview"
var clRegexp = regexp.MustCompile(`\d+`)
@@ -184,34 +183,21 @@ func handleAssign(w http.ResponseWriter, r *http.Request) {
if !found {
c.Infof("Adding %v as a reviewer of CL %v", rev, n)
- // We can't do this easily, as we need authentication to edit
- // an issue on behalf of a user, which is non-trivial. For now,
- // just send a mail with the body "R=<reviewer>", Cc'ing that person,
- // and rely on social convention.
- cl := new(CL)
- err := datastore.Get(c, key, cl)
+ url := fmt.Sprintf("%s?cl=%s&r=%s", gobotBase, n, rev)
+ resp, err := urlfetch.Client(c).Get(url)
if err != nil {
- c.Errorf("%s", err)
+ c.Errorf("Gobot GET failed: %v", err)
http.Error(w, err.Error(), 500)
return
}
- msg := &mail.Message{
- Sender: u.Email,
- To: []string{preferredEmail[rev]},
- Cc: cl.Recipients,
- // Take care to match Rietveld's subject line
- // so that Gmail will correctly thread mail.
- Subject: cl.Subject + " (issue " + n + ")",
- Body: "R=" + rev + "\n\n(sent by gocodereview)",
- }
- if cl.LastMessageID != "" {
- msg.Headers = netmail.Header{
- "In-Reply-To": []string{cl.LastMessageID},
- }
- }
- if err := mail.Send(c, msg); err != nil {
- c.Errorf("mail.Send: %v", err)
+ defer resp.Body.Close()
+ if resp.StatusCode != 200 {
+ c.Errorf("Gobot GET failed: got HTTP response %d", resp.StatusCode)
+ http.Error(w, "Failed contacting Gobot", 500)
+ return
}
+
+ c.Infof("Gobot said %q", resp.Status)
}
}