Skip to content

Commit daa421e

Browse files
committed
FEAT: Added Jenkins CICD Metadata Support for HCP
1 parent 3f9b1e3 commit daa421e

File tree

1 file changed

+45
-0
lines changed
  • internal/hcp/registry/metadata

1 file changed

+45
-0
lines changed

internal/hcp/registry/metadata/cicd.go

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,53 @@ func (b *BitbucketPipelines) Type() string {
126126
return "bitbucket"
127127
}
128128

129+
type JenkinsCI struct{}
130+
131+
func (g *JenkinsCI) Detect() error {
132+
_, ok := os.LookupEnv("JENKINS_URL")
133+
if !ok {
134+
return fmt.Errorf("JENKINS_URL environment variable not found")
135+
}
136+
return nil
137+
}
138+
139+
func (g *JenkinsCI) Details() map[string]interface{} {
140+
env := make(map[string]interface{})
141+
keys := []string{
142+
"JENKINS_URL",
143+
"BUILD_URL",
144+
"NODE_NAME",
145+
"JOB_NAME",
146+
"JOB_URL",
147+
"BUILD_NUMBER",
148+
"BUILD_ID",
149+
"BUILD_TAG",
150+
"WORKSPACE",
151+
"BUILD_CAUSE",
152+
"GIT_COMMIT",
153+
"GIT_BRANCH",
154+
"GIT_URL",
155+
"GIT_AUTHOR_NAME",
156+
"GIT_COMMITTER_EMAIL",
157+
"GIT_PREVIOUS_SUCCESSFUL_COMMIT",
158+
}
159+
160+
for _, key := range keys {
161+
if value, ok := os.LookupEnv(key); ok {
162+
env[key] = value
163+
}
164+
}
165+
166+
return env
167+
}
168+
169+
func (g *JenkinsCI) Type() string {
170+
return "jenkins"
171+
}
172+
129173
func GetCicdMetadata() map[string]interface{} {
130174
cicd := []MetadataProvider{
175+
&JenkinsCI{},
131176
&GithubActions{},
132177
&GitlabCI{},
133178
&BitbucketPipelines{},

0 commit comments

Comments
 (0)