Thinking about this as a more general aggreation API, there are a number of different scenarios that would be useful to be supported:
Basic dashboard load
query BasicLoad($org: String, $project: String) {
status(org: $org, project: $project) {
org
project
commits {
message
sha
}
}
}
Get error messages for all failed builds
{
builds(status:"failed") {
error{
message
}
}
}
Get number of commits, with aggregation
{
aggregation {
commits(groupBy:'week') {
field(name:'username')
count(type:'mean')
}
}
}
Get a list of basic deployments
{
deployments(org:"merlinc", repo:"release-status-testbed") {
environment
deployment {
sha
}
build {
sha
}
}
commit
}
Use Nodes and Edges
{
commits(org:"merlinc", repo:"release-status-testbed", limit:10) {
id
name
deploymentConnection(first: 3) {
edges {
cursor
node {
id
name
}
}
}
}
}
Thinking about this as a more general aggreation API, there are a number of different scenarios that would be useful to be supported:
Basic dashboard load
Get error messages for all failed builds
Get number of commits, with aggregation
Get a list of basic deployments
Use Nodes and Edges