Add a new filter for pipeline jobs
What does this MR do and why?
Describe in detail what your merge request does and why.
This MR adds a new filter for jobs in GraphQL queries. With this filter we can query jobs that, for example, have manual execution trigger. This functionality is needed to implement #385732 (closed)
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
- You'll need a project that has manual and not-manual deployment jobs. If you don't have one you could clone this project: https://gitlab.com/andrei.zubov/pipelinestest and run a few deployment pipelines. The
deploy-staging
job will be a manual one - navigate to graphql explorer (for example
gdk.test:3000/-/graphql-explorer
) - execute the following graphql query
query getEnvironmentDetails(
$projectFullPath: ID!
$environmentName: String
) {
project(fullPath: $projectFullPath) {
id
environment(name: $environmentName) {
id
deployments(
orderBy: { createdAt: DESC }
) {
nodes {
id
job {
id
deploymentPipeline: pipeline {
id
jobs(whenExecuted: ["manual"], retried: false) {
nodes {
id
name
playable
scheduledAt
webPath
}
}
}
}
}
}
}
}
}
example variables:
"projectFullPath": "gitlab-org/pipelinestest",
"environmentName": "production"
- you should see a result with manual pipeline jobs
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Andrei Zubov