GetCoAuthorSummary
client.Usage.GetCoAuthorSummary(ctx, body) (*UsageGetCoAuthorSummaryResponse, error)
POST/gitpod.v1.UsageService/GetCoAuthorSummary
Gets aggregated co-author summary for the organization or a specific project.
Use this method to:
- Measure AI-assisted commits and line changes
- Scope co-author insights to a project, user, or team
- Compare the requested date range against the previous period
Example
dateRange:
startTime: "2024-01-01T00:00:00Z"
endTime: "2024-02-01T00:00:00Z"
projectId: "d2c94c27-3b76-4a42-b88c-95a85e392c68"ParametersExpand Collapse
body UsageGetCoAuthorSummaryParams
body UsageGetCoAuthorSummaryParams
DateRange param.Field[DateRange]
Date range to query within.
ReturnsExpand Collapse
type UsageGetCoAuthorSummaryResponse struct{…}
type UsageGetCoAuthorSummaryResponse struct{…}
Summary totals and trends for the requested date range.
Summary totals and trends for the requested date range.
DistinctAuthorsTrend float64Optional
Fractional change in distinct_authors compared to the previous period.
formatdouble
TotalCommitsTrend float64Optional
Fractional change in total_commits compared to the previous period of equal length. Computed as (current - previous) / previous. Zero when there is no previous data.
formatdouble
GetCoAuthorSummary
package main
import (
"context"
"fmt"
"time"
"github.com/gitpod-io/gitpod-sdk-go"
"github.com/gitpod-io/gitpod-sdk-go/option"
"github.com/gitpod-io/gitpod-sdk-go/shared"
)
func main() {
client := gitpod.NewClient(
option.WithBearerToken("My Bearer Token"),
)
response, err := client.Usage.GetCoAuthorSummary(context.TODO(), gitpod.UsageGetCoAuthorSummaryParams{
DateRange: gitpod.F(shared.DateRangeParam{
EndTime: gitpod.F(time.Now()),
StartTime: gitpod.F(time.Now()),
}),
ProjectID: gitpod.F("d2c94c27-3b76-4a42-b88c-95a85e392c68"),
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Sparkline)
}
{
"sparkline": [
{
"time": "2019-12-27T18:11:19.117Z",
"value": 0
}
],
"summary": {
"byTool": [
{
"commits": "commits",
"distinctAuthors": "distinctAuthors",
"linesAdded": "linesAdded",
"linesRemoved": "linesRemoved",
"tool": "CO_AUTHOR_TOOL_UNSPECIFIED"
}
],
"distinctAuthors": "distinctAuthors",
"distinctAuthorsTrend": 0,
"totalCommits": "totalCommits",
"totalCommitsTrend": 0,
"totalLinesAdded": "totalLinesAdded",
"totalLinesAddedTrend": 0,
"totalLinesRemoved": "totalLinesRemoved",
"totalLinesRemovedTrend": 0
}
}Returns Examples
{
"sparkline": [
{
"time": "2019-12-27T18:11:19.117Z",
"value": 0
}
],
"summary": {
"byTool": [
{
"commits": "commits",
"distinctAuthors": "distinctAuthors",
"linesAdded": "linesAdded",
"linesRemoved": "linesRemoved",
"tool": "CO_AUTHOR_TOOL_UNSPECIFIED"
}
],
"distinctAuthors": "distinctAuthors",
"distinctAuthorsTrend": 0,
"totalCommits": "totalCommits",
"totalCommitsTrend": 0,
"totalLinesAdded": "totalLinesAdded",
"totalLinesAddedTrend": 0,
"totalLinesRemoved": "totalLinesRemoved",
"totalLinesRemovedTrend": 0
}
}