Skip to content
Snippets Groups Projects
Commit 49421e8d authored by Antoine Lambert's avatar Antoine Lambert
Browse files

jobs/tools: Do not inline token in script setting gitlab webhooks

Pass it as a hidden parameter instead as jenkins now requires to manually
validate each groovy script for security concerns.

As a script is identified by the hash of its content, proceeding like
this avoid to revalidate the webhooks setting script each time the token
is rotated.
parent 1678ed21
No related branches found
No related tags found
1 merge request!188jobs/tools: Do not inline token in script setting gitlab webhooks
Pipeline #4243 failed
...@@ -45,6 +45,9 @@ pipeline { ...@@ -45,6 +45,9 @@ pipeline {
sh('tox -- update --delete-old') sh('tox -- update --delete-old')
build( build(
job: '/jenkins-tools/setup-gitlab-webhooks', job: '/jenkins-tools/setup-gitlab-webhooks',
parameters: [
string(name: 'jenkins_token', value: "${jenkins_token}"),
]
) )
} }
} }
......
...@@ -22,6 +22,11 @@ ...@@ -22,6 +22,11 @@
cancel-pending-builds-on-update: true cancel-pending-builds-on-update: true
# secret jenkins token is generated when executing tox # secret jenkins token is generated when executing tox
secret-token: !include-raw: jobs/templates/jenkins-token secret-token: !include-raw: jobs/templates/jenkins-token
parameters:
- hidden:
name: jenkins_token
description: Secret webhooks token to trigger jobs
default: !include-raw: jobs/templates/jenkins-token
dsl: !include-jinja2: jenkins-jobs-builder.groovy.j2 dsl: !include-jinja2: jenkins-jobs-builder.groovy.j2
......
...@@ -78,7 +78,7 @@ void setupGitlabWebhook(gitlabProjectName, jenkinsProjectName, pushEvents = true ...@@ -78,7 +78,7 @@ void setupGitlabWebhook(gitlabProjectName, jenkinsProjectName, pushEvents = true
"note_events": "${mergeRequestEvents}", "note_events": "${mergeRequestEvents}",
"merge_requests_events": "${mergeRequestEvents}", "merge_requests_events": "${mergeRequestEvents}",
"tag_push_events": "${tagPushEvents}", "tag_push_events": "${tagPushEvents}",
"token": "{{jenkins_token}}" "token": "${jenkins_token}"
} }
""" """
......
...@@ -4,8 +4,6 @@ ...@@ -4,8 +4,6 @@
project-type: pipeline project-type: pipeline
description: Setup Jenkins integration for a GitLab repository description: Setup Jenkins integration for a GitLab repository
node: built-in node: built-in
# secret jenkins token is generated when executing tox
jenkins_token: !include-raw: jobs/templates/jenkins-token
parameters: parameters:
- string: - string:
name: gitlab_url name: gitlab_url
...@@ -15,6 +13,11 @@ ...@@ -15,6 +13,11 @@
name: jenkins_url name: jenkins_url
description: URL of Jenkins instance description: URL of Jenkins instance
default: https://jenkins.softwareheritage.org default: https://jenkins.softwareheritage.org
- hidden:
name: jenkins_token
description: Secret webhooks token to trigger jobs
# secret jenkins token is generated when executing tox
default: !include-raw: jobs/templates/jenkins-token
dsl: !include-jinja2: setup-gitlab-webhooks.groovy.j2 dsl: !include-jinja2: setup-gitlab-webhooks.groovy.j2
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment