--- # these parameters are used for infra related variables - parameter: name: infra-parameters parameters: - string: name: JJB_GIT_REPO default: https://git.openstack.org/openstack-infra/jenkins-job-builder description: OpenStack JJB repo - string: name: JJB_VERSION default: 2.9.1 description: OpenStack JJB version to install - matches to LFN JJB version # these parameters are used for setting the Gerrit Project on Nordix - parameter: name: project-parameters parameters: - string: name: PROJECT default: '{project}' description: JJB configured PROJECT parameter to identify a Nordix Gerrit project - string: name: BRANCH default: '{branch}' description: "JJB configured BRANCH parameter (e.g. master, nordix-dev)" # these parameters are used for streaming changes from various Gerrit Systems - parameter: name: nordix-gerrit-parameters parameters: - string: name: GERRIT_USER default: infra description: Non-interactive user to stream Gerrit Events on Nordix Gerrit - string: name: GIT_BASE_HTTPS default: https://gerrit.nordix.org description: HTTPS URL of Project Repo on Nordix Gerrit to clone repo - string: name: GIT_BASE_SSH default: ssh://$GERRIT_USER@gerrit.nordix.org:29418 description: HTTPS URL of Project Repo on Nordix Gerrit to clone repo - parameter: name: onap-gerrit-parameters parameters: - string: name: GERRIT_USER default: nordix description: Non-interactive user to stream Gerrit Events on ONAP Gerrit - string: name: GIT_BASE_HTTPS default: https://gerrit.onap.org/r/p description: HTTPS URL to Project Repo on ONAP Gerrit to clone repo - string: name: GIT_BASE_SSH default: ssh://$GERRIT_USER@gerrit.onap.org:29418 description: SSH URL to Project Repo on ONAP Gerrit to clone repo - parameter: name: acumos-gerrit-parameters parameters: - string: name: GERRIT_USER default: nordix description: Non-interactive user to stream Gerrit Events on Acumos Gerrit - string: name: GIT_BASE_HTTPS default: https://gerrit.acumos.org/r/p description: HTTPS URL to Project Repo on Acumos Gerrit to clone repo - string: name: GIT_BASE_SSH default: ssh://$GERRIT_USER@gerrit.acumos.org:29418 description: SSH URL to Project Repo on Acumos Gerrit to clone repo - parameter: name: odl-gerrit-parameters parameters: - string: name: GERRIT_USER default: nordix description: Non-interactive user to stream Gerrit Events on ODL Gerrit - string: name: GIT_BASE_HTTPS default: https://git.opendaylight.org/gerrit description: HTTPS URL to Project Repo on OODL Gerrit to clone repo - string: name: GIT_BASE_SSH default: ssh://$GERRIT_USER@git.opendaylight.org:29418 description: SSH URL to Project Repo on ODL Gerrit to clone repo # defaults for job build history - property: name: logrotate-default properties: - build-discarder: days-to-keep: 60 num-to-keep: 200 artifact-days-to-keep: 60 artifact-num-to-keep: 200 # defaults for SCM and Gerrit - scm: name: git-scm scm: - git: url: '$GIT_BASE_SSH/$PROJECT' credentials-id: '{ssh-credentials-id}' branches: - 'refs/heads/{branch}' refspec: '{refspec}' timeout: 15 per-build-tag: false skip-tag: true shallow-clone: false use-author: false ignore-notify: false wipe-workspace: true prune: false choosing-strategy: 'default' - scm: name: git-scm-gerrit scm: - git: url: '$GIT_BASE_SSH/$PROJECT' credentials-id: '{ssh-credentials-id}' branches: - 'refs/heads/{branch}' refspec: '{refspec}' timeout: 15 per-build-tag: false skip-tag: true shallow-clone: false use-author: false ignore-notify: false wipe-workspace: true prune: false choosing-strategy: 'gerrit' # triggers for Nordix Gerrit - trigger: name: nordix-gerrit-trigger-patchset-created triggers: - gerrit: server-name: 'Nordix Gerrit' trigger-on: - patchset-created-event: exclude-drafts: 'false' exclude-trivial-rebase: 'false' exclude-no-code-change: 'false' - draft-published-event - comment-added-contains-event: comment-contains-value: 'recheck' - comment-added-contains-event: comment-contains-value: 'reverify' projects: - project-compare-type: 'REG_EXP' project-pattern: '{project}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' file-paths: - compare-type: 'ANT' pattern: '{files}' skip-vote: successful: false failed: false unstable: false notbuilt: false - trigger: name: nordix-gerrit-trigger-change-merged triggers: - gerrit: server-name: 'Nordix Gerrit' trigger-on: - change-merged-event - comment-added-contains-event: comment-contains-value: 'remerge' projects: - project-compare-type: 'ANT' project-pattern: '{project}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' file-paths: - compare-type: 'ANT' pattern: '{files}' - trigger: name: nordix-gerrit-push-upstream triggers: - gerrit: server-name: 'Nordix Gerrit' trigger-on: - comment-added-contains-event: comment-contains-value: 'push-upstream' projects: - project-compare-type: 'ANT' project-pattern: '{project}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' file-paths: - compare-type: 'ANT' pattern: '{files}' # triggers for ONAP Gerrit - trigger: name: onap-gerrit-trigger-change-merged triggers: - gerrit: server-name: 'ONAP Gerrit' trigger-on: - change-merged-event - comment-added-contains-event: comment-contains-value: 'remerge' projects: - project-compare-type: 'ANT' project-pattern: '{project}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' file-paths: - compare-type: 'ANT' pattern: '{files}' silent: true silent-start: true # triggers for Acumos Gerrit - trigger: name: acumos-gerrit-trigger-change-merged triggers: - gerrit: server-name: 'Acumos Gerrit' trigger-on: - change-merged-event - comment-added-contains-event: comment-contains-value: 'remerge' projects: - project-compare-type: 'ANT' project-pattern: '{project}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' file-paths: - compare-type: 'ANT' pattern: '{files}' silent: true silent-start: true # wrappers to use for jobs - wrapper: name: nordixinfra-jjb-creds-wrapper wrappers: - credentials-binding: - username-password-separated: credential-id: nordixinfra-jjb-creds username: JJB_USERNAME password: JJB_USERTOKEN # timeout wrapper to use for jobs - wrapper: name: build-timeout wrappers: - timeout: timeout: '{timeout}' timeout-var: 'BUILD_TIMEOUT' fail: true # wrapper to fix jenkins build workspace permissions - wrapper: name: fix-workspace-permissions wrappers: - pre-scm-buildstep: failOnError: true buildsteps: - shell: | #!/bin/bash sudo chown -R $USER:$USER $WORKSPACE || exit 1 - publisher: name: notify-slack publishers: - slack: room: '{slack-channel}' notify-failure: True # property to discard old builds - property: name: logrotate properties: - build-discarder: days-to-keep: 30 num-to-keep: 100 artifact-days-to-keep: 30 artifact-num-to-keep: 100