From 39395fe01ef11c04e5d8a947e03b4f6f1fdcca43 Mon Sep 17 00:00:00 2001 From: hc-github-team-packer <84862055+hc-github-team-packer@users.noreply.github.com> Date: Tue, 18 Nov 2025 08:04:25 -0500 Subject: [PATCH] FEAT: Added Jenkins CICD Metadata Support for HCP (#13527) Co-authored-by: Tanmay Jain Co-authored-by: Anurag Sharma <36436571+anurag5sh@users.noreply.github.com> --- internal/hcp/registry/metadata/cicd.go | 45 ++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/internal/hcp/registry/metadata/cicd.go b/internal/hcp/registry/metadata/cicd.go index 27193b075..662553839 100644 --- a/internal/hcp/registry/metadata/cicd.go +++ b/internal/hcp/registry/metadata/cicd.go @@ -126,8 +126,53 @@ func (b *BitbucketPipelines) Type() string { return "bitbucket" } +type JenkinsCI struct{} + +func (g *JenkinsCI) Detect() error { + _, ok := os.LookupEnv("JENKINS_URL") + if !ok { + return fmt.Errorf("JENKINS_URL environment variable not found") + } + return nil +} + +func (g *JenkinsCI) Details() map[string]interface{} { + env := make(map[string]interface{}) + keys := []string{ + "JENKINS_URL", + "BUILD_URL", + "NODE_NAME", + "JOB_NAME", + "JOB_URL", + "BUILD_NUMBER", + "BUILD_ID", + "BUILD_TAG", + "WORKSPACE", + "BUILD_CAUSE", + "GIT_COMMIT", + "GIT_BRANCH", + "GIT_URL", + "GIT_AUTHOR_NAME", + "GIT_COMMITTER_EMAIL", + "GIT_PREVIOUS_SUCCESSFUL_COMMIT", + } + + for _, key := range keys { + if value, ok := os.LookupEnv(key); ok { + env[key] = value + } + } + + return env +} + +func (g *JenkinsCI) Type() string { + return "jenkins" +} + func GetCicdMetadata() map[string]interface{} { cicd := []MetadataProvider{ + &JenkinsCI{}, &GithubActions{}, &GitlabCI{}, &BitbucketPipelines{},