Update Jenkins Job Builder to version 2.9.1
[infra/cicd.git] / jjb / global / jjb-macros.yaml
index 78392e76e89b7cf2c9fac915f3bec7fa52f10f45..c80cd45a347c3e4f31aa553150b79bd713ee4c22 100644 (file)
@@ -9,7 +9,7 @@
           description: OpenStack JJB repo
       - string:
           name: JJB_VERSION
-          default: 2.2.1
+          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
           name: GIT_BASE_SSH
           default: ssh://$GERRIT_USER@gerrit.nordix.org:29418
           description: HTTPS URL of Project Repo on Nordix Gerrit to clone repo
-      - string:
-          name: CREDENTIALS_ID
-          default: nordixinfra-nordix-gerrit-ssh
-          description: Nordix Infra SSH credentials for Nordix Gerrit
 
 - parameter:
     name: onap-gerrit-parameters
           name: GIT_BASE_SSH
           default: ssh://$GERRIT_USER@gerrit.onap.org:29418
           description: SSH URL to Project Repo on ONAP Gerrit to clone repo
-      - string:
-          name: CREDENTIALS_ID
-          default: nordixinfra-lfn-gerrit-ssh
-          description: Nordix Infra SSH credentials for LFN Gerrit
 
 # defaults for job build history
 - property:
@@ -82,7 +74,7 @@
     scm:
       - git:
           url: '$GIT_BASE_SSH/$PROJECT'
-          credentials-id: '$CREDENTIALS_ID'
+          credentials-id: '{ssh-credentials-id}'
           branches:
             - 'refs/heads/{branch}'
           refspec: '{refspec}'
     scm:
       - git:
           url: '$GIT_BASE_SSH/$PROJECT'
-          credentials-id: '$CREDENTIALS_ID'
+          credentials-id: '{ssh-credentials-id}'
           branches:
             - 'refs/heads/{branch}'
           refspec: '{refspec}'
           prune: false
           choosing-strategy: 'gerrit'
 
-# triggers for Nordix and upstream Gerrits
+# triggers for Nordix Gerrit
 - trigger:
     name: nordix-gerrit-trigger-patchset-created
     triggers:
             - comment-added-contains-event:
                 comment-contains-value: 'reverify'
           projects:
-            - project-compare-type: 'ANT'
+            - project-compare-type: 'REG_EXP'
               project-pattern: '{project}'
               branches:
                 - branch-compare-type: 'ANT'
                 - 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
+
 # wrappers to use for jobs
 - wrapper:
     name: nordixinfra-jjb-creds-wrapper
               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