Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(jenkins): Enable Jenkins job triggers for jobs in sub-folders #1373

Merged
merged 2 commits into from
Dec 22, 2023

Conversation

ciurescuraul
Copy link
Contributor

@ciurescuraul ciurescuraul commented Dec 14, 2023

Description

When defining a Jenkins job in a sub-folder, the path contains slashes. Consequently, the Spring framework is not capable of accurately matching the request.

Problem

The trigger request fails because it is attempting to initiate a job that is not found.

Solution

A feature flag has been added. This flag influences if we should call the existing endpoint (which accepts the job name as a path variable) or the new one (which accepts the job name as a query parameter).

Before

image

After

image

Related PR's

Orca: spinnaker/orca#4618
Igor: spinnaker/igor#1204

- Allow triggering of Jenkins jobs that reside in sub-folders, by treating job names containing slashes as query variables.

- Prior to this feature, jobs in sub-folders were not appropriately matched by the Spring framework due to slashes in their path, causing trigger requests to fail.

- Include a new feature flag to determine the usage of the existing endpoint (which uses the job name as a path variable) or an updated endpoint (which takes the job name as a query parameter).
Copy link
Contributor

@ovidiupopa07 ovidiupopa07 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Member

@jasonmcintosh jasonmcintosh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! There's some thought long term that... we have a lot of "feature flags", should move some of the concepts into Kork and maybe generic it all so
feature.<service>.flagName kinda properties could be consistent across services. Be a nice enhancement later.

Map<String, Object> getBuildStatusWithJobQueryParameter(
@NotNull @Path("buildNumber") Integer buildNumber,
@NotNull @Path("master") String master,
@NotNull @Query(value = "job") String job);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ONLY call out is... encoding. Calling out the caution on the other PR, but ... not sure how much of an issue that really is. IF job should be URL encoded due to any kinda characters - I don't THINK so at this point though.

@jasonmcintosh jasonmcintosh added the ready to merge Approved and ready for merge label Dec 22, 2023
@mergify mergify bot added the auto merged label Dec 22, 2023
@mergify mergify bot merged commit 18d038d into spinnaker:master Dec 22, 2023
4 checks passed
@ovidiupopa07
Copy link
Contributor

@Mergifyio backport release-1.28.x release-1.30.x release-1.31.x release-1.32.x release-1.33.x

Copy link
Contributor

mergify bot commented Jan 22, 2024

backport release-1.28.x release-1.30.x release-1.31.x release-1.32.x release-1.33.x

✅ Backports have been created

mergify bot pushed a commit that referenced this pull request Jan 22, 2024
…1373)

- Allow triggering of Jenkins jobs that reside in sub-folders, by treating job names containing slashes as query variables.

- Prior to this feature, jobs in sub-folders were not appropriately matched by the Spring framework due to slashes in their path, causing trigger requests to fail.

- Include a new feature flag to determine the usage of the existing endpoint (which uses the job name as a path variable) or an updated endpoint (which takes the job name as a query parameter).

(cherry picked from commit 18d038d)
mergify bot pushed a commit that referenced this pull request Jan 22, 2024
…1373)

- Allow triggering of Jenkins jobs that reside in sub-folders, by treating job names containing slashes as query variables.

- Prior to this feature, jobs in sub-folders were not appropriately matched by the Spring framework due to slashes in their path, causing trigger requests to fail.

- Include a new feature flag to determine the usage of the existing endpoint (which uses the job name as a path variable) or an updated endpoint (which takes the job name as a query parameter).

(cherry picked from commit 18d038d)
mergify bot pushed a commit that referenced this pull request Jan 22, 2024
…1373)

- Allow triggering of Jenkins jobs that reside in sub-folders, by treating job names containing slashes as query variables.

- Prior to this feature, jobs in sub-folders were not appropriately matched by the Spring framework due to slashes in their path, causing trigger requests to fail.

- Include a new feature flag to determine the usage of the existing endpoint (which uses the job name as a path variable) or an updated endpoint (which takes the job name as a query parameter).

(cherry picked from commit 18d038d)
mergify bot pushed a commit that referenced this pull request Jan 22, 2024
…1373)

- Allow triggering of Jenkins jobs that reside in sub-folders, by treating job names containing slashes as query variables.

- Prior to this feature, jobs in sub-folders were not appropriately matched by the Spring framework due to slashes in their path, causing trigger requests to fail.

- Include a new feature flag to determine the usage of the existing endpoint (which uses the job name as a path variable) or an updated endpoint (which takes the job name as a query parameter).

(cherry picked from commit 18d038d)
mergify bot pushed a commit that referenced this pull request Jan 22, 2024
…1373)

- Allow triggering of Jenkins jobs that reside in sub-folders, by treating job names containing slashes as query variables.

- Prior to this feature, jobs in sub-folders were not appropriately matched by the Spring framework due to slashes in their path, causing trigger requests to fail.

- Include a new feature flag to determine the usage of the existing endpoint (which uses the job name as a path variable) or an updated endpoint (which takes the job name as a query parameter).

(cherry picked from commit 18d038d)
mergify bot added a commit that referenced this pull request Feb 13, 2024
…1373) (#1381)

- Allow triggering of Jenkins jobs that reside in sub-folders, by treating job names containing slashes as query variables.

- Prior to this feature, jobs in sub-folders were not appropriately matched by the Spring framework due to slashes in their path, causing trigger requests to fail.

- Include a new feature flag to determine the usage of the existing endpoint (which uses the job name as a path variable) or an updated endpoint (which takes the job name as a query parameter).

(cherry picked from commit 18d038d)

Co-authored-by: Raul Cristian <[email protected]>
mergify bot added a commit that referenced this pull request Feb 13, 2024
…1373) (#1382)

- Allow triggering of Jenkins jobs that reside in sub-folders, by treating job names containing slashes as query variables.

- Prior to this feature, jobs in sub-folders were not appropriately matched by the Spring framework due to slashes in their path, causing trigger requests to fail.

- Include a new feature flag to determine the usage of the existing endpoint (which uses the job name as a path variable) or an updated endpoint (which takes the job name as a query parameter).

(cherry picked from commit 18d038d)

Co-authored-by: Raul Cristian <[email protected]>
jasonmcintosh pushed a commit that referenced this pull request Mar 14, 2024
…1373) (#1380)

- Allow triggering of Jenkins jobs that reside in sub-folders, by treating job names containing slashes as query variables.

- Prior to this feature, jobs in sub-folders were not appropriately matched by the Spring framework due to slashes in their path, causing trigger requests to fail.

- Include a new feature flag to determine the usage of the existing endpoint (which uses the job name as a path variable) or an updated endpoint (which takes the job name as a query parameter).

(cherry picked from commit 18d038d)

Co-authored-by: Raul Cristian <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants