Documentation
¶
Overview ¶
Package teeth contains a job that will read leech and pull request event records from BigQuery and publish any available log invocations in a PR comment.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var PublisherSourceQuery string
PublisherSourceQuery is the source query that teeth job pipeline will use to publish results.
Functions ¶
func SetUpPublisherSourceQuery ¶
func SetUpPublisherSourceQuery(ctx context.Context, bqClient BigQueryClient) (*bigquery.Query, error)
SetUpPublisherSourceQuery converts the PublisherSourceQuery string into a Query object that the BigQueryClient can then execute. It populates the query parameters with the BigQuery config values.
Types ¶
type BQConfig ¶
type BQConfig struct {
PullRequestEventsTable string
InvocationCommentStatusTable string
EventsTable string
LeechStatusTable string
}
TODO: Add query limit param.
BQConfig defines configuration parameters for the BigQuery tables used by the teeth job pipeline.
type BigQueryClient ¶
BigQueryClient defines the spec for calls to read from and write to BigQuery tables.
type InvocationCommentStatusRecord ¶
type InvocationCommentStatusRecord struct {
PullRequestID int `bigquery:"pull_request_id"`
PullRequestURL string `bigquery:"pull_request_html_url"`
ProcessedAt time.Time `bigquery:"processed_at"`
CommentID bigquery.NullInt64 `bigquery:"comment_id"`
Status string `bigquery:"status"`
JobName string `bigquery:"job_name"`
}
InvocationCommentStatusRecord is the output data structure that maps to the teeth pipeline's output table schema for invocation comment statuses.
type PublisherSourceRecord ¶
type PublisherSourceRecord struct {
DeliveryID string `bigquery:"delivery_id"`
PullRequestID int `bigquery:"pull_request_id"`
PullRequestURL string `bigquery:"pull_request_html_url"`
Received time.Time `bigquery:"received"`
LogsURI string `bigquery:"logs_uri"`
HeadSHA string `bigquery:"head_sha"`
}
PublisherSourceRecord maps the columns from the driving BigQuery query to a usable structure.