internal: append JobID column to table schema

- Previously, one was unable to inspect individual jobs triggered by the
  ejobs command.
- Now, tables can be queried via JobID for individual jobs.

Change-Id: I595693197b7290f28217f42a11c5082e564c42f3
Reviewed-on: https://go-review.googlesource.com/c/pkgsite-metrics/+/698315
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ethan Lee <ethanalee@google.com>
Reviewed-by: Markus Kusano <kusano@google.com>
diff --git a/internal/analysis/analysis.go b/internal/analysis/analysis.go
index 3dcb183..0311804 100644
--- a/internal/analysis/analysis.go
+++ b/internal/analysis/analysis.go
@@ -150,6 +150,7 @@
 	Version     string    `bigquery:"version"`
 	SortVersion string    `bigquery:"sort_version"`
 	CommitTime  time.Time `bigquery:"commit_time"`
+	JobID       string    `bigquery:"job_id"`
 	// The name of the analysis binary that was executed.
 	// A single binary may run multiple analyzers.
 	BinaryName    string `bigquery:"binary_name"`
diff --git a/internal/worker/analysis.go b/internal/worker/analysis.go
index f95698f..0b06d91 100644
--- a/internal/worker/analysis.go
+++ b/internal/worker/analysis.go
@@ -187,6 +187,7 @@
 func (s *analysisServer) scan(ctx context.Context, req *analysis.ScanRequest, localBinaryPath string, wv analysis.WorkVersion) *analysis.Result {
 	row := &analysis.Result{
 		ModulePath:  req.Module,
+		JobID:       req.JobID,
 		Version:     req.Version,
 		BinaryName:  req.Binary,
 		WorkVersion: wv,
diff --git a/internal/worker/analysis_test.go b/internal/worker/analysis_test.go
index 6678552..6182e90 100644
--- a/internal/worker/analysis_test.go
+++ b/internal/worker/analysis_test.go
@@ -158,6 +158,7 @@
 		Version:       version,
 		SortVersion:   "0,0,0,~20250813163312-416cbb1e76e6",
 		CommitTime:    commitTime,
+		JobID:         "jid",
 		BinaryName:    "analyzer",
 		WorkVersion:   wv,
 		Error:         "",
@@ -193,6 +194,7 @@
 		ModulePath:    modulePath,
 		Version:       version,
 		SortVersion:   "0,0,0,~20250813163312-416cbb1e76e6",
+		JobID:         "jid",
 		BinaryName:    "bad",
 		WorkVersion:   wv,
 		ErrorCategory: "SYNTHETIC - MISC",