cmd/ejobs: add -user option to ejobs list

- Enables filtering by username in list command.
- Example: ejobs list -user=ethanalee.

Change-Id: Ic945ff31ecb6dca6e331be0bfd38cd2a77fff01b
Reviewed-on: https://go-review.googlesource.com/c/pkgsite-metrics/+/697835
Auto-Submit: Ethan Lee <ethanalee@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Neal Patel <nealpatel@google.com>
diff --git a/cmd/ejobs/main.go b/cmd/ejobs/main.go
index cf3acd6..b98e5cb 100644
--- a/cmd/ejobs/main.go
+++ b/cmd/ejobs/main.go
@@ -54,12 +54,17 @@
 	force        bool          // for results
 	errs         bool          // for results
 	outfile      string        // for results
+	userFilter   string        // for list
 )
 
 var commands = []command{
-	{"list", "",
+	{"list", "[-user USERNAME]",
 		"list jobs",
-		doList, nil},
+		doList,
+		func(fs *flag.FlagSet) {
+			fs.StringVar(&userFilter, "user", "", "filter jobs by user")
+		},
+	},
 	{"show", "JOBID...",
 		"display information about jobs in the last 7 days",
 		doShow, nil},
@@ -208,6 +213,9 @@
 	tw := tabwriter.NewWriter(os.Stdout, 2, 8, 1, ' ', 0)
 	fmt.Fprintf(tw, "ID\tUser\tStart Time\tStarted\tFinished\tTotal\tCanceled\n")
 	for _, j := range *joblist {
+		if userFilter != "" && j.User != userFilter {
+			continue
+		}
 		if j.StartedAt.After(weekBefore) {
 			fmt.Fprintf(tw, "%s\t%s\t%s\t%d\t%d\t%d\t%t\n",
 				j.ID(), j.User, j.StartedAt.Format(time.RFC3339),