Commit bad3fa34 authored by Douglas Barbosa Alexandre's avatar Douglas Barbosa Alexandre

Merge branch 'jivanvl-add-tags-job-type-graphql' into 'master'

Add tags field to Jobs Type

See merge request gitlab-org/gitlab!57631
parents f1736abf f1143c83
...@@ -26,6 +26,8 @@ module Types ...@@ -26,6 +26,8 @@ module Types
description: 'Whether this job is allowed to fail.' description: 'Whether this job is allowed to fail.'
field :duration, GraphQL::INT_TYPE, null: true, field :duration, GraphQL::INT_TYPE, null: true,
description: 'Duration of the job in seconds.' description: 'Duration of the job in seconds.'
field :tags, [GraphQL::STRING_TYPE], null: true,
description: 'Tags for the current job.'
# Life-cycle timestamps: # Life-cycle timestamps:
field :created_at, Types::TimeType, null: false, field :created_at, Types::TimeType, null: false,
...@@ -68,6 +70,10 @@ module Types ...@@ -68,6 +70,10 @@ module Types
Gitlab::Graphql::Loaders::BatchModelLoader.new(::Ci::Pipeline, object.pipeline_id).find Gitlab::Graphql::Loaders::BatchModelLoader.new(::Ci::Pipeline, object.pipeline_id).find
end end
def tags
object.tags.map(&:name) if object.is_a?(::Ci::Build)
end
def detailed_status def detailed_status
object.detailed_status(context[:current_user]) object.detailed_status(context[:current_user])
end end
......
---
title: Add tags field to jobType in the CI namespace
merge_request: 57631
author:
type: changed
...@@ -1235,6 +1235,7 @@ An edge in a connection. ...@@ -1235,6 +1235,7 @@ An edge in a connection.
| `stage` | [`CiStage`](#cistage) | Stage of the job. | | `stage` | [`CiStage`](#cistage) | Stage of the job. |
| `startedAt` | [`Time`](#time) | When the job was started. | | `startedAt` | [`Time`](#time) | When the job was started. |
| `status` | [`CiJobStatus`](#cijobstatus) | Status of the job. | | `status` | [`CiJobStatus`](#cijobstatus) | Status of the job. |
| `tags` | [`[String!]`](#string) | Tags for the current job. |
### `CiJobArtifact` ### `CiJobArtifact`
......
...@@ -13,6 +13,7 @@ RSpec.describe Resolvers::Ci::JobsResolver do ...@@ -13,6 +13,7 @@ RSpec.describe Resolvers::Ci::JobsResolver do
create(:ci_build, :sast, name: 'DAST job', pipeline: pipeline) create(:ci_build, :sast, name: 'DAST job', pipeline: pipeline)
create(:ci_build, :dast, name: 'SAST job', pipeline: pipeline) create(:ci_build, :dast, name: 'SAST job', pipeline: pipeline)
create(:ci_build, :container_scanning, name: 'Container scanning job', pipeline: pipeline) create(:ci_build, :container_scanning, name: 'Container scanning job', pipeline: pipeline)
create(:ci_build, name: 'Job with tags', pipeline: pipeline, tag_list: ['review'])
end end
describe '#resolve' do describe '#resolve' do
...@@ -24,7 +25,8 @@ RSpec.describe Resolvers::Ci::JobsResolver do ...@@ -24,7 +25,8 @@ RSpec.describe Resolvers::Ci::JobsResolver do
have_attributes(name: 'Normal job'), have_attributes(name: 'Normal job'),
have_attributes(name: 'DAST job'), have_attributes(name: 'DAST job'),
have_attributes(name: 'SAST job'), have_attributes(name: 'SAST job'),
have_attributes(name: 'Container scanning job') have_attributes(name: 'Container scanning job'),
have_attributes(name: 'Job with tags')
) )
end end
end end
...@@ -43,5 +45,18 @@ RSpec.describe Resolvers::Ci::JobsResolver do ...@@ -43,5 +45,18 @@ RSpec.describe Resolvers::Ci::JobsResolver do
) )
end end
end end
context 'when a job has tags' do
it "returns jobs with tags when applicable" do
jobs = resolve(described_class, obj: pipeline)
expect(jobs).to contain_exactly(
have_attributes(tag_list: []),
have_attributes(tag_list: []),
have_attributes(tag_list: []),
have_attributes(tag_list: []),
have_attributes(tag_list: ['review'])
)
end
end
end end
end end
...@@ -33,6 +33,7 @@ RSpec.describe Types::Ci::JobType do ...@@ -33,6 +33,7 @@ RSpec.describe Types::Ci::JobType do
stage stage
started_at started_at
status status
tags
] ]
expect(described_class).to have_graphql_fields(*expected_fields) expect(described_class).to have_graphql_fields(*expected_fields)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment