You need to sign in or sign up before continuing.
Update GraphQL endpoint to support sorting releases
What does this MR do?
Updates our GraphQL endpoint to support sorting of releases by released_at
and created_at
.
This is essentially the same change as !44118 (merged), but for GraphQL instead of our REST API.
This MR is an incremental step towards #26413 (closed).
Example queries/responses
No sort
provided (same as sort: RELEASED_AT_DESC
)
Query:
{
project(fullPath: "root/release-test") {
releases(first: 3) {
nodes {
createdAt
releasedAt
}
pageInfo {
startCursor
endCursor
}
}
}
}
Response:
{
"data": {
"project": {
"releases": {
"nodes": [
{
"createdAt": "2020-09-02T18:13:36Z",
"releasedAt": "2030-03-15T08:00:00Z"
},
{
"createdAt": "2020-09-22T00:22:27Z",
"releasedAt": "2020-09-22T00:22:27Z"
},
{
"createdAt": "2020-09-02T17:02:55Z",
"releasedAt": "2020-09-02T17:02:55Z"
}
],
"pageInfo": {
"startCursor": "eyJpZCI6IjQ0In0",
"endCursor": "eyJpZCI6IjQzIn0"
}
}
}
}
}
With sort: RELEASED_AT_DESC
Query:
{
project(fullPath: "root/release-test") {
releases(first: 3, sort: RELEASED_AT_DESC) {
nodes {
createdAt
releasedAt
}
pageInfo {
startCursor
endCursor
}
}
}
}
Response:
{
"data": {
"project": {
"releases": {
"nodes": [
{
"createdAt": "2020-09-02T18:13:36Z",
"releasedAt": "2030-03-15T08:00:00Z"
},
{
"createdAt": "2020-09-22T00:22:27Z",
"releasedAt": "2020-09-22T00:22:27Z"
},
{
"createdAt": "2020-09-02T17:02:55Z",
"releasedAt": "2020-09-02T17:02:55Z"
}
],
"pageInfo": {
"startCursor": "eyJpZCI6IjQ0In0",
"endCursor": "eyJpZCI6IjQzIn0"
}
}
}
}
}
With sort: RELEASED_AT_ASC
Query:
{
project(fullPath: "root/release-test") {
releases(first: 3, sort: RELEASED_AT_ASC) {
nodes {
createdAt
releasedAt
}
pageInfo {
startCursor
endCursor
}
}
}
}
Response:
{
"data": {
"project": {
"releases": {
"nodes": [
{
"createdAt": "2020-07-06T15:35:22Z",
"releasedAt": "2020-07-06T15:35:22Z"
},
{
"createdAt": "2020-07-09T19:20:06Z",
"releasedAt": "2020-07-09T19:20:06Z"
},
{
"createdAt": "2020-07-09T20:11:33Z",
"releasedAt": "2020-07-09T20:11:33Z"
}
],
"pageInfo": {
"startCursor": "eyJpZCI6IjEifQ",
"endCursor": "eyJpZCI6IjMifQ"
}
}
}
}
}
With sort: CREATED_DESC
Query:
{
project(fullPath: "root/release-test") {
releases(first: 3, sort: CREATED_DESC) {
nodes {
createdAt
releasedAt
}
pageInfo {
startCursor
endCursor
}
}
}
}
Response:
{
"data": {
"project": {
"releases": {
"nodes": [
{
"createdAt": "2020-09-22T00:22:27Z",
"releasedAt": "2020-09-22T00:22:27Z"
},
{
"createdAt": "2020-09-02T18:13:36Z",
"releasedAt": "2030-03-15T08:00:00Z"
},
{
"createdAt": "2020-09-02T17:02:55Z",
"releasedAt": "2020-09-02T17:02:55Z"
}
],
"pageInfo": {
"startCursor": "eyJpZCI6IjQ2In0",
"endCursor": "eyJpZCI6IjQzIn0"
}
}
}
}
}
With sort: CREATED_ASC
Query:
{
project(fullPath: "root/release-test") {
releases(first: 3, sort: CREATED_ASC) {
nodes {
createdAt
releasedAt
}
pageInfo {
startCursor
endCursor
}
}
}
}
Response:
{
"data": {
"project": {
"releases": {
"nodes": [
{
"createdAt": "2020-07-06T15:35:22Z",
"releasedAt": "2020-07-06T15:35:22Z"
},
{
"createdAt": "2020-07-09T19:20:06Z",
"releasedAt": "2020-07-09T19:20:06Z"
},
{
"createdAt": "2020-07-09T20:11:33Z",
"releasedAt": "2020-07-09T20:11:33Z"
}
],
"pageInfo": {
"startCursor": "eyJpZCI6IjEifQ",
"endCursor": "eyJpZCI6IjMifQ"
}
}
}
}
}
Related to #26413 (closed)
Edited by Nathan Friend
Merge request reports
Activity
Please register or sign in to reply