From c38be85ed53be1bb8592e72d1e5bf21b762a9815 Mon Sep 17 00:00:00 2001 From: Mladen Jablanovic Date: Fri, 21 Feb 2025 12:39:09 +0100 Subject: [PATCH 1/2] feat(API): add updated_since filter to job list #STRINGS-1555 --- doc/compiled.json | 98 +++++++++++++++++------------------ parameters.yaml | 29 ++++++++++- paths/jobs/index.yaml | 29 ++--------- paths/jobs/index_account.yaml | 22 ++------ 4 files changed, 86 insertions(+), 92 deletions(-) diff --git a/doc/compiled.json b/doc/compiled.json index a79740868..bba5c8e4b 100644 --- a/doc/compiled.json +++ b/doc/compiled.json @@ -4716,6 +4716,42 @@ "schema": { "type": "string" } + }, + "job_owner": { + "description": "filter by user owning job", + "example": "abcd1234cdef1234abcd1234cdef1234", + "name": "owned_by", + "in": "query", + "schema": { + "type": "string" + } + }, + "job_assignee": { + "description": "filter by user assigned to job", + "example": "abcd1234cdef1234abcd1234cdef1234", + "name": "assigned_to", + "in": "query", + "schema": { + "type": "string" + } + }, + "job_state": { + "description": "filter by state of job Valid states are draft, in_progress, completed", + "example": "completed", + "name": "state", + "in": "query", + "schema": { + "type": "string" + } + }, + "job_updated_since": { + "description": "filter by jobs updated since given date", + "example": "2013-02-21T00:00:00.000Z", + "name": "updated_since", + "in": "query", + "schema": { + "type": "string" + } } }, "responses": { @@ -10309,40 +10345,19 @@ "$ref": "#/components/parameters/per_page" }, { - "description": "specify the branch to use", - "example": "my-feature-branch", - "name": "branch", - "in": "query", - "schema": { - "type": "string" - } + "$ref": "#/components/parameters/branch" }, { - "description": "filter by user owning job", - "example": "abcd1234cdef1234abcd1234cdef1234", - "name": "owned_by", - "in": "query", - "schema": { - "type": "string" - } + "$ref": "#/components/parameters/job_owner" }, { - "description": "filter by user assigned to job", - "example": "abcd1234cdef1234abcd1234cdef1234", - "name": "assigned_to", - "in": "query", - "schema": { - "type": "string" - } + "$ref": "#/components/parameters/job_assignee" }, { - "description": "filter by state of job Valid states are draft, in_progress, completed", - "example": "completed", - "name": "state", - "in": "query", - "schema": { - "type": "string" - } + "$ref": "#/components/parameters/job_state" + }, + { + "$ref": "#/components/parameters/job_updated_since" } ], "responses": { @@ -10553,31 +10568,16 @@ "$ref": "#/components/parameters/per_page" }, { - "description": "filter by user owning job", - "example": "abcd1234cdef1234abcd1234cdef1234", - "name": "owned_by", - "in": "query", - "schema": { - "type": "string" - } + "$ref": "#/components/parameters/job_owner" }, { - "description": "filter by user assigned to job", - "example": "abcd1234cdef1234abcd1234cdef1234", - "name": "assigned_to", - "in": "query", - "schema": { - "type": "string" - } + "$ref": "#/components/parameters/job_assignee" }, { - "description": "filter by state of job Valid states are draft, in_progress, completed", - "example": "completed", - "name": "state", - "in": "query", - "schema": { - "type": "string" - } + "$ref": "#/components/parameters/job_state" + }, + { + "$ref": "#/components/parameters/job_updated_since" } ], "responses": { diff --git a/parameters.yaml b/parameters.yaml index 13715ca5e..62496464d 100644 --- a/parameters.yaml +++ b/parameters.yaml @@ -260,4 +260,31 @@ q: in: query schema: type: string - +job_owner: + description: filter by user owning job + example: abcd1234cdef1234abcd1234cdef1234 + name: owned_by + in: query + schema: + type: string +job_assignee: + description: filter by user assigned to job + example: abcd1234cdef1234abcd1234cdef1234 + name: assigned_to + in: query + schema: + type: string +job_state: + description: filter by state of job Valid states are draft, in_progress, completed + example: completed + name: state + in: query + schema: + type: string +job_updated_since: + description: filter by jobs updated since given date + example: 2013-02-21T00:00:00Z + name: updated_since + in: query + schema: + type: string diff --git a/paths/jobs/index.yaml b/paths/jobs/index.yaml index 26df573c9..1c38edc13 100644 --- a/paths/jobs/index.yaml +++ b/paths/jobs/index.yaml @@ -9,30 +9,11 @@ parameters: - "$ref": "../../parameters.yaml#/project_id" - "$ref": "../../parameters.yaml#/page" - "$ref": "../../parameters.yaml#/per_page" -- description: specify the branch to use - example: my-feature-branch - name: branch - in: query - schema: - type: string -- description: filter by user owning job - example: abcd1234cdef1234abcd1234cdef1234 - name: owned_by - in: query - schema: - type: string -- description: filter by user assigned to job - example: abcd1234cdef1234abcd1234cdef1234 - name: assigned_to - in: query - schema: - type: string -- description: filter by state of job Valid states are draft, in_progress, completed - example: completed - name: state - in: query - schema: - type: string +- "$ref": "../../parameters.yaml#/branch" +- "$ref": "../../parameters.yaml#/job_owner" +- "$ref": "../../parameters.yaml#/job_assignee" +- "$ref": "../../parameters.yaml#/job_state" +- "$ref": "../../parameters.yaml#/job_updated_since" responses: '200': description: OK diff --git a/paths/jobs/index_account.yaml b/paths/jobs/index_account.yaml index eada9e6c8..912c73522 100644 --- a/paths/jobs/index_account.yaml +++ b/paths/jobs/index_account.yaml @@ -9,24 +9,10 @@ parameters: - "$ref": "../../parameters.yaml#/account_id" - "$ref": "../../parameters.yaml#/page" - "$ref": "../../parameters.yaml#/per_page" -- description: filter by user owning job - example: abcd1234cdef1234abcd1234cdef1234 - name: owned_by - in: query - schema: - type: string -- description: filter by user assigned to job - example: abcd1234cdef1234abcd1234cdef1234 - name: assigned_to - in: query - schema: - type: string -- description: filter by state of job Valid states are draft, in_progress, completed - example: completed - name: state - in: query - schema: - type: string +- "$ref": "../../parameters.yaml#/job_owner" +- "$ref": "../../parameters.yaml#/job_assignee" +- "$ref": "../../parameters.yaml#/job_state" +- "$ref": "../../parameters.yaml#/job_updated_since" responses: '200': description: OK From bb49768e5317de74bd4859914ddeab0804c7bb62 Mon Sep 17 00:00:00 2001 From: Mladen Jablanovic Date: Fri, 21 Feb 2025 14:14:42 +0100 Subject: [PATCH 2/2] typo --- doc/compiled.json | 2 +- parameters.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/compiled.json b/doc/compiled.json index bba5c8e4b..fe5fd2219 100644 --- a/doc/compiled.json +++ b/doc/compiled.json @@ -4736,7 +4736,7 @@ } }, "job_state": { - "description": "filter by state of job Valid states are draft, in_progress, completed", + "description": "filter by state of job; valid states are: draft, in_progress, completed", "example": "completed", "name": "state", "in": "query", diff --git a/parameters.yaml b/parameters.yaml index 62496464d..71e7cafc6 100644 --- a/parameters.yaml +++ b/parameters.yaml @@ -275,7 +275,7 @@ job_assignee: schema: type: string job_state: - description: filter by state of job Valid states are draft, in_progress, completed + description: "filter by state of job; valid states are: draft, in_progress, completed" example: completed name: state in: query