diff --git a/jenkins/base/plugins.bzl b/jenkins/base/plugins.bzl
index 4f54463..2993768 100644
--- a/jenkins/base/plugins.bzl
+++ b/jenkins/base/plugins.bzl
@@ -16,215 +16,211 @@
 JENKINS_PLUGINS = {
  'ace-editor': ['1.1',
                 'abc97028893c8a71581a5f559ea48e8e1f1a65164faee96dabfed9e95e9abad2'],
- 'ansicolor': ['0.5.0',
-               '4fd5b38959812712b62576ce98d0302f799bd950f5a6f777a8c0d862df336526'],
- 'antisamy-markup-formatter': ['1.5',
-                               '8e8e3e917d76b0432ab3c32a000e824f4ef32011ba5e77dd8b6b476310df8f1a'],
+ 'ansicolor': ['0.5.2',
+               '726c651a3ac8d080ff4aa5b962dd8b264801b8a3fde027da07fa1be30c709b31'],
+ 'apache-httpcomponents-client-4-api': ['4.5.3-2.0',
+                                        '6f4ef91ba8e07c235892bcfdc0240809ceb61c37e7e9940d9540de3644f9a620'],
  'authentication-tokens': ['1.3',
                            'f05736bc7da0df3bba5ceb4d893089706812ced3134adb2edc9ae341467f1ae3'],
- 'blueocean': ['1.1.6',
-               'f46548a9af58f47b3ddace3e56d6841d616a13c6fb4adcb3b041818f6e008cd7'],
- 'blueocean-autofavorite': ['1.0.0',
-                            '4ecaac0bbe0214469d16fe9a6953efb4c54d9cfcab6d96007890554c6eb04423'],
- 'blueocean-commons': ['1.1.6',
-                       'c1768341bcd83c2e81d2438d7e350485cfa1f9f0fc84922a9efdfec26622a1a9'],
- 'blueocean-config': ['1.1.6',
-                      '2c2dec55146fafdd48e1c0ea41d085776337dc045752fdc6d3c2db59ab26ec89'],
- 'blueocean-dashboard': ['1.1.6',
-                         '8bd926d7ab1643c1bb0e7ed2af344c6b53199afc66860e1fe5badda660f76c56'],
- 'blueocean-display-url': ['2.0',
-                           'ce46e5d2a0476cff482f7033ba2e8731fd5c4de010ba8fb7572f68ed22bbfb13'],
- 'blueocean-events': ['1.1.6',
-                      '919da868b56a7838241cdf1f2cee676272f6ec2a3495ad02af28eed9e280c061'],
- 'blueocean-git-pipeline': ['1.1.6',
-                            '9d984e502ce0f914d942c091163f6b3251b68a41f0a385af6c4d0756a5bbd1d0'],
- 'blueocean-github-pipeline': ['1.1.6',
-                               '21dbac4b336b2b022e3abaf0afb600c7e5576403afd3b53720e95c9ed2b4fe57'],
- 'blueocean-i18n': ['1.1.6',
-                    '50f4e02930676f2298bcf2e81e1f1dbdcec6578f326c4385afc1e89e6275a2ce'],
- 'blueocean-jwt': ['1.1.6',
-                   '4c42a529efc3d759396eb3ed9658da699e4d62d808726fb904cf8e47738ea960'],
- 'blueocean-personalization': ['1.1.6',
-                               '91b910c346c267bc17438b0423d240393df96cab5edfca7089ddfd47d191a8c1'],
- 'blueocean-pipeline-api-impl': ['1.1.6',
-                                 'dae16da9cf6d03ee9f006c2e52d49917f2895f6eb0a3cd55febbba135a8ef347'],
- 'blueocean-pipeline-editor': ['0.2.0',
-                               'cd3d0a7aeee37aa8df6135dc575a4d0458dc63f206f61034f57a79a58be83c64'],
- 'blueocean-pipeline-scm-api': ['1.1.6',
-                                '7c2be0081b02496f798f46f261a3081003e55f3df72bbedd865ef55191c0a5d6'],
- 'blueocean-rest': ['1.1.6',
-                    '91990d0e971346d418f2b09c0de013f83698611ced9a108828c96306e1cf1092'],
- 'blueocean-rest-impl': ['1.1.6',
-                         '192d525cf0abccee383278a5427d5e95251638d6075beea8259974458c998606'],
- 'blueocean-web': ['1.1.6',
-                   'd5e7db75a84fe0ed7e77494c806a64c72bb0bd127a4968505d9f19fc2e4cdfa9'],
- 'bouncycastle-api': ['2.16.1',
-                      '87bbc7e1f385524d6c5f5f49365c1f7e1cce7a1aee908ddd3ac0884d6b9055fc'],
- 'branch-api': ['2.0.9',
-                'f54cf77dc09d1d92ef2ec5ad6d04cb79fce7ac1d251dab7cb085c2ef398f2863'],
- 'build-monitor-plugin': ['1.11+build.201701152243',
-                          '4e8d5e0a00410f06e07a05cf1011563df7cd169e1961d3f334fc159a55b6a29b'],
- 'build-timeout': ['1.18',
-                   '6ea3eaa31d13314af1bcd7576fb07ee4a007c84ae56639eabc03e503de485dba'],
- 'cloudbees-folder': ['6.0.4',
-                      '4372996561c5118cfdf2ca801d7436ca6f4131da99b47dee3c7d9cc099da8c32'],
- 'conditional-buildstep': ['1.3.5',
-                           'bb505823eef199eef3b67bff5d7826d075329ce93c64784ae72d22fff88110d9'],
- 'copyartifact': ['1.38.1',
-                  '0171f402f064615a14b0adca348c2d49ee338cd49d54539793105a191d941501'],
- 'credentials': ['2.1.13',
-                 'e793895fb727b59d83a9e395984243cfee9abdf4d56238fb6f2594948b0487e5'],
+ 'blueocean': ['1.3.5',
+               '7d27f025bb272a09b5a821337d11ede5f2570b507332330c4b020b31735fa17d'],
+ 'blueocean-autofavorite': ['1.2.1',
+                            '91863ba4b29842c667a3cd264e5cd4e922e1770523a69f8cf903e54ea3441cd7'],
+ 'blueocean-bitbucket-pipeline': ['1.3.5',
+                                  '61c4d48d08c514d42698a59999972f2b96c176d488d50d91586f719567a75f51'],
+ 'blueocean-commons': ['1.3.5',
+                       'f33b8205b077415fea2f567630593bb8b9ecd9dc0c703da074060254f3149071'],
+ 'blueocean-config': ['1.3.5',
+                      'ca10776897319be6ccb8b74dd3b2e080c39c92173f758697f4a6c6d4b775b0dc'],
+ 'blueocean-dashboard': ['1.3.5',
+                         'ef321158bc22df3ebca93d0ff3f682ed2c3aba397389fc11394e336460f77649'],
+ 'blueocean-display-url': ['2.2.0',
+                           '4392cff3f4d75c678abadb7aad040b782be7ea61c5c87bdd5e3a62fa633e10ca'],
+ 'blueocean-events': ['1.3.5',
+                      'd8925552dfc929faec946e698b1954cf803f6d1efc0f64503f27dd767e3b2816'],
+ 'blueocean-git-pipeline': ['1.3.5',
+                            'afb74b1eb244f5c590ad0b9c233cfd48a7d5309d2270e89b2e517ef969b02864'],
+ 'blueocean-github-pipeline': ['1.3.5',
+                               'c9069367ee3b0c87616a507b5f4b35baf14d553821ef68fa469d961f8a468b75'],
+ 'blueocean-i18n': ['1.3.5',
+                    '0d9d2d42f361323b335adb36e79a03d0b223ad244d0cf81a4852301e27d72e36'],
+ 'blueocean-jira': ['1.3.5',
+                    'c1e6d12c46b985d877952cd1e3658f009324ddb5f9634ac24b604a88cd2a592c'],
+ 'blueocean-jwt': ['1.3.5',
+                   'acb5ec61dbbea2151563c695974bc3f7eb286fccda4abfcf73ddcb89969e3e4a'],
+ 'blueocean-personalization': ['1.3.5',
+                               '83866a6216f6e41b4149cc7218509aef4018be5c257049529e3110a92e84ffc4'],
+ 'blueocean-pipeline-api-impl': ['1.3.5',
+                                 '31a5b75357e68f2b01bad21b7760a11e69614775263854cf4f31db9d9e4e3c55'],
+ 'blueocean-pipeline-editor': ['1.3.5',
+                               'fa1a6d10c37bddcb9527edfc7933b9d0652249c3f769d93b35ca78791f9ff415'],
+ 'blueocean-pipeline-scm-api': ['1.3.5',
+                                '0023101aa540770a4c983cd4c0e05344fc55fb9ecae4fc3f7ecc41a6e465f502'],
+ 'blueocean-rest': ['1.3.5',
+                    '33f96f833ad04feeed56446c2b0d0d35b350eab13de98d718ed6cf63e26e2126'],
+ 'blueocean-rest-impl': ['1.3.5',
+                         '35fc89cba48a2395a65d782ee2fef6b50dbf1e0c5861f04d290e89529e4d691a'],
+ 'blueocean-web': ['1.3.5',
+                   'c24e1c371e61b749f7cea9c91c4740fe1ea3491c5b2392815cab7c0c46331732'],
+ 'bouncycastle-api': ['2.16.2',
+                      '6130c9a7132dfe50bde27e256942a7a45f568817e3ad9d5d40ce95330076fad6'],
+ 'branch-api': ['2.0.17',
+                '3dae63756c728eb4a6fb9c3244123c8c3bd4939041986c3d744210dfe79d11d7'],
+ 'build-monitor-plugin': ['1.12+build.201708172343',
+                          '1b00d08120d2a7b1ac8a0c8eec83cd224a103cf8c2c7e60aa87d470690d9ee5c'],
+ 'build-timeout': ['1.19',
+                   'a92b43adb9c668e3fd0ad307db43c2277cf15ea75c084b5bdc74fb294f80583d'],
+ 'cloudbees-bitbucket-branch-source': ['2.2.8',
+                                       '8087d87c917819b0e4d8b7e076fd4abdee3c05a5022ef05717ebddcbe9daad6f'],
+ 'cloudbees-folder': ['6.3',
+                      '4f21d3dedd352fe1fb0c6adea1d39dcb190180615e5cc5aa5ffac18b47c5a71a'],
+ 'conditional-buildstep': ['1.3.6',
+                           '4b550bc136fe66bb4eb396605f4036935963327b9c94662f7c441888adb99f77'],
+ 'copyartifact': ['1.39',
+                  '5014383a87922b6c2915c6323d43685801f0272e4e311dd4584fd4ac48c1e520'],
+ 'credentials': ['2.1.16',
+                 'b151673bb77ef585900d901684a4197c3018b6baa83ddd0dac8327e42aedfef9'],
  'credentials-binding': ['1.13',
                          '92284982f52e785cf802a1a83a3cd59c61f4d76c775f653a27ba2c21204fa4a3'],
- 'display-url-api': ['2.0',
-                     '4e438996e2b262075e5c4ec0d1dd93a767456205bca735e80db633ac392fd21f'],
- 'docker-commons': ['1.8',
-                    '468211603d88a6ac07004abf606d79a87f92432e2d6b90251f442183c8053ea3'],
- 'docker-workflow': ['1.10',
-                     '72669ece071e808edbd21d18f1021c8830ba7591d7b18e63af5b67148d35bc02'],
- 'durable-task': ['1.13',
-                  'e242f459b6662b84f3ab99f51cdbdb048d7a2bb1f1a27ffafb5f0c4bd6d5735c'],
- 'email-ext': ['2.57.2',
-               'b576b6c2cd69a159699341fe07f32ac824a02c309ec175902b7eba843d4c31e4'],
+ 'display-url-api': ['2.2.0',
+                     'f9a7acb09a0c649d2cfe25ed52d6a974e664f3a00e76d9dccf24f845d20bb754'],
+ 'docker-commons': ['1.11',
+                    '4cbb7cec0ceaec1b398b2f3620bcaf1116e177802c6f3339e0b3d176547a3998'],
+ 'docker-workflow': ['1.14',
+                     'cb2304a61477f06d619df39464f0dd952074b5ac1954b993126302abc2b97457'],
+ 'durable-task': ['1.17',
+                  '54b0c95d15508274e583952e5056a34424b464530caa9483736134b5c96eef20'],
+ 'email-ext': ['2.61',
+               '46a8a2cbfac75e086af031667b5eac459854b4646be13b5442df47e945c13e58'],
  'embeddable-build-status': ['1.9',
                              '9d950ce4bfdcb67e1b1198ea2b54e18de95ec3214b1cf1135141b5b54a62edb2'],
  'fail-the-build-plugin': ['1.0',
                            'c97db02dc6fef269780b77d2001a9bfb49bcdc9ac2ee242cd10445709bb7d09e'],
- 'favorite': ['2.3.0',
-              'cefc897311ce31aa0c02b290db8b353d81683272a3f3791aa84fb9572865ab82'],
- 'ghprb': ['1.36.2',
-           'ecf7cd881136e60e48e220172bd0ddedb77c50129bc9dac271b32c715be38541'],
- 'git': ['3.5.1',
-         '1f0a26022b2b61fe25679c49a6fabeabb0cfc9452d0dc40def73709d95cc3da3'],
- 'git-client': ['2.5.0',
-                'b26f4098bb8969cdf7125b79a937c2bec8df4065785c2eaeccc66d1bc3287b0f'],
- 'git-parameter': ['0.8.0',
-                   'c7251742e90110a0c6345a47373a20f8d97e0562bf543f04e6d2e7c9313e6ef1'],
+ 'favorite': ['2.3.1',
+              'b847647271830a3cec63035dea8fffe79b91331678cd306967cbc64227d4db28'],
+ 'ghprb': ['1.39.0',
+           '0fab963ba057882deb0c3b7b2cdba487d905ad20e00707dea8e4f36dd5c7b7e3'],
+ 'git': ['3.7.0',
+         '1cb33ab6027557d54bb6fb8ee31c211bef9ff217b71166f8423ba20fa7e7137c'],
+ 'git-client': ['2.7.0',
+                'acaf526ca3101deee5219b23b17398ce3bfec72d7393e8d19214d3a8d6e2108f'],
+ 'git-parameter': ['0.9.0',
+                   '329d5dad9bd84bcf75e396a0be73cfc6cfcc9ab0ee75bb505777f32991d57574'],
  'git-server': ['1.7',
                 '1a5dc733495681a6d1a6adce07e614e50f4e5d22580e6fafbd5ca260aa4367fc'],
- 'github': ['1.27.0',
-            '11038b94997b698b6b7898dc68fcc7e28202c308ba6af927fc22c7bba8cbfef0'],
- 'github-api': ['1.86',
-                'b759e7365ca217623c1bbf068fd9401a491637afb55523a19e4f30122066ac45'],
- 'github-branch-source': ['2.2.2',
-                          '6e23c6c2b30c3e38ed1f83f8afe090ff0921f9b3c64f43f9549d2f76bd198288'],
+ 'github': ['1.28.1',
+            'b8a4327e9f9bd4b4a9e13e81e50725e2d8ed26030566c3c5eb1d7f9662fd61ff'],
+ 'github-api': ['1.90',
+                '8ec10c98b4cc103d826e2e2a101b4bf44b3b91b395c33de7448003431ba736ce'],
+ 'github-branch-source': ['2.3.2',
+                          '107951a8b3baa2964d045a009aa7c50de2a6329f35da0227e3f66caa0a4710b5'],
  'google-login': ['1.3',
                   '4b1482347ddd0a2a54c1fdedfe46a519cc2ada60dfc774d2435f554287c52d25'],
  'greenballs': ['1.15',
                 '6c3722fb9ce2a446f0266e1911d87ef50898a10f38890bb6963e7e1e1c4296fb'],
  'handlebars': ['1.1.1',
                 'bc5cc7b3eca17ba6cec0a8def94f3aa78ad7a19387a19aa3a56f857a18966afa'],
- 'htmlpublisher': ['1.13',
-                   'c5c3d99125110c0d8a63472f6b66b4a2481b78caadbb17632ef86a6f3a19ec4c'],
- 'icon-shim': ['2.0.3',
-               '8ab2f1617b68561a7f0254fb27578840aa9b7e158d0bd8c51628dbc64e8ab0ca'],
- 'jackson2-api': ['2.7.3',
-                  '6dfa1ba3db32ae47630b239399c3fc8d9102ff0b523a5c33dd32bc88d9874837'],
+ 'htmlpublisher': ['1.14',
+                   '08802f5f0a3915ac06432f432f2d4e5b051f1c976fd6251d7696b0f98ac02771'],
+ 'jackson2-api': ['2.8.10.1',
+                  'ea5cda3192e890500d1c09a123962cd576e2a6c8946f9f720511493b0cd7666a'],
  'javadoc': ['1.4',
              '2236e563d057a98b1bb2e56975756a008986289aa01a61c4655a31b62c760a22'],
- 'jquery': ['1.11.2-0',
-            'acf4940bd5a0d918d781b51a6f42f7a0cb9381ede8235582c629a5d347495029'],
+ 'jira': ['2.5',
+          'cee72ce7d24e0c0b7ec0404322c6ea3fe84947265de77adaa19785cd6d13832c'],
+ 'jquery': ['1.12.4-0',
+            'fdfb8c7b0370ecaf10985c8be8dd3f7f651c3bddd84c709df14c26508d2aeb1e'],
  'jquery-detached': ['1.2.1',
                      'a05273cd20c11557ffcb7dcb75150f21d35dc8be28355548b831c2960d7f11c0'],
- 'junit': ['1.20',
-           'be0c9079c1ed7e3bc9d7157e30d0e8fdd733a83cba11ab184ddb48cea1a579c3'],
- 'ldap': ['1.15',
-          '2ace1e160dab885680d0eee1b543d456fa97328c4befc911c2c531bf7697dbe6'],
+ 'jsch': ['0.1.54.1',
+          '5e979207485bd7c7c42eb2b1ff5dac4e5c10e6d717b89ab2a1052c404d6963bb'],
+ 'junit': ['1.23',
+           '2b109c49593cb051a04aa861338913a734fd797b34e71c9cd89bc8494391ee4a'],
  'mailer': ['1.20',
             'e78b7bb32957d11dcf58e57f2d7b60903bf31ace7858d19febb3b11a374a1187'],
- 'mapdb-api': ['1.0.9.0',
-               '072c11a34cf21f87f9c44bf01b430c5ea77e8096d077e8533de654ef00f3f871'],
- 'matrix-auth': ['1.5',
-                 'ac31e6736f8e6aed26064d00c6aad7f4b39bfc49d80d32be757b035d4224863b'],
- 'matrix-project': ['1.10',
-                    'dd09d0c70ed566ac61accbf5afd4b9db3cd21c8bb4372d0d302df9052c6258dd'],
- 'maven-plugin': ['2.15.1',
-                  '61aeb7d787e312702b438c75ffd752394bbcaaf2b6d212a4fc169b3f28651c6e'],
- 'metrics': ['3.1.2.9',
-             '0828fe8dbd36d7f614ddc89cd2940f4004ee49cd9dca86c48cc1fd2f4495a542'],
+ 'matrix-auth': ['2.2',
+                 '56ea5d8313f3481196d73c60367eab037005d37d2b2aa8b40ac0abeb21d7c86f'],
+ 'matrix-project': ['1.12',
+                    'bc3300877704d41d42813d6cef18ea017dcb4be5e8faae45a7da4ce6c9b540e1'],
+ 'maven-plugin': ['3.0',
+                  '0bac73f24735632d1635121cd41f58714d1f7baccd6bc3b6a93359af36ecac0d'],
+ 'mercurial': ['2.2',
+               '7b22e37164107e4dca7b2970a14cf8a1a2d7e7be7ebee29868ed0f617e4b7931'],
  'momentjs': ['1.1.1',
               'ca3c2d264cff55f71e900dc7de1f13c0bfbffdb9b3419b854dce175bcb8a4848'],
  'nodelabelparameter': ['1.7.2',
                         '0f556ae48573db6bae28b24eae561121ed9931e8b1bc31ac4e586bc8d3238edf'],
- 'pam-auth': ['1.3',
-              '1b1d32dca618f43f6c06786f3fde6cc0e0fa0c805cbb735fafd464cf2cfcf1e3'],
- 'parameterized-trigger': ['2.35',
-                           '5193a8e8bfc20fa2147210913874fa58c81ad0bc688df1ecf3fefe65303e727c'],
- 'pipeline-build-step': ['2.5.1',
-                         'a8ce93220bcd66b982757c2698504e9be2a0ec5445a3d27cc235d82de643f5c1'],
- 'pipeline-graph-analysis': ['1.3',
-                             'bb3235a0b5a62cd7be3983bfd40a202c582757c9633d23858aaa38af88ee61ea'],
+ 'parameterized-trigger': ['2.35.2',
+                           '36228ae6c41cf828cf472deabaeff50f8b4e9b69e742deab38d4a9b9a093fd97'],
+ 'pipeline-build-step': ['2.6',
+                         '9972fa5a5328133c9c99cd730846de91308132a1dcf58f26c7d6df69e030391a'],
+ 'pipeline-graph-analysis': ['1.6',
+                             'a20cedaa0b847f31cf88b51ee490c49eea8aa1052511b12d5af2a140af45e7e3'],
  'pipeline-input-step': ['2.8',
                          '8e9fa1654ec0c0ec726c894b079828737b8ce6d9ea3d05cd4378c37acc3235db'],
- 'pipeline-model-api': ['1.1.4',
-                        '6b3ac82391981a5a6068819508bbd127e7acc0b9f68ef75c4641d488b1df57df'],
+ 'pipeline-milestone-step': ['1.3.1',
+                             'd3a26629b656821c60a14fe403ab8afc50f084e338406dbc27e2b6b403f7cb20'],
+ 'pipeline-model-api': ['1.2.5',
+                        '50b8bc760b46e8b79c3938370d6d8677b6a98cfae23cd6220b2cddcc6cd3132d'],
  'pipeline-model-declarative-agent': ['1.1.1',
                                       'd5540c3973bf5f568910f93b3a002c413148b9d3dd4211ce5faf4a2a1214d4ef'],
- 'pipeline-model-definition': ['1.1.4',
-                               'ce98022ed5580b7fbd35adc57ee10d36b0ab79a43aa0f635d8907e008863ee48'],
- 'pipeline-model-extensions': ['1.1.4',
-                               'ca6edd0013553de18031c7c5daf20cee5723ca8d4719121223707742d1c2c713'],
- 'pipeline-rest-api': ['2.6',
-                       '4ecc8c111f86902a86860943390e1b98463437a33116df4feb888226daf42aaa'],
- 'pipeline-stage-step': ['2.2',
-                         '08f077bc8cd98fbf6cb7383d8bcfe3db69796f89cedcfb6f13c8c9375b2a11c8'],
- 'pipeline-stage-tags-metadata': ['1.1.4',
-                                  '5420089bf9984412c47824ea98d69400c5f9bf7794651b200d7f82bec97e2b55'],
- 'pipeline-stage-view': ['2.6',
-                         'e4b82a523fe8151a117c150073c8a0cad65277651ed6565150b6b058111d4c98'],
+ 'pipeline-model-definition': ['1.2.5',
+                               '74b69c7697956acf5d69d478c7920aeb25661517ecbf747a5ae5607630d12a84'],
+ 'pipeline-model-extensions': ['1.2.5',
+                               '5aff0b3b930421b80b1ef1870a6a722feec776424ce78568bfbfc0350f1c398c'],
+ 'pipeline-rest-api': ['2.9',
+                       '38d9f5dd0750a3ce3113ff3eeed32864ed4e0655ec5e3a5556f529d8c3cf86a8'],
+ 'pipeline-stage-step': ['2.3',
+                         'f6caab90742664289b0cb57b27755c3b8b963c3764894129fb954efbf796d310'],
+ 'pipeline-stage-tags-metadata': ['1.2.5',
+                                  '719ad659f61ac0593d2ff1455eded5222831469350b835cc475b5f212b379c00'],
+ 'pipeline-stage-view': ['2.9',
+                         '52879f4fc756bbe95c5ef9802ef9da15c4938833555046b23c9fc78c914b6525'],
  'plain-credentials': ['1.4',
                        '4f1834f99ffd7f2a7db1972fe46ee42d06af819b27297193ac89eb33a14292d8'],
- 'pubsub-light': ['1.8',
-                  '08de8779e50f731cb1b62be27ebe30d93a358ec54e22852a1c639419f7e16dd3'],
+ 'pubsub-light': ['1.12',
+                  '666cbc579d82849bef8d0396a57335c9994222e8b0ba52f07be76dab9fb56c40'],
  'run-condition': ['1.0',
                    '4e55ebf4bde1202784404d856f98f7de85470ed145cde06feb45f641891780fb'],
- 'sauce-ondemand': ['1.164',
-                    '48649855b80bc30dad03ced7a4ba76ef3aa5daa939f0521720e5aec5b5d1d949'],
- 'scm-api': ['2.2.0',
-             '31f60f8ab713237a03e6357c97fe0e6f0bb493d274573751fc5483b489392670'],
- 'scoring-load-balancer': ['1.0.1',
-                           'a7229d2945e347afb472d3c45e83ea3c4409c8710c4168912601eb46684dd3a3'],
- 'script-security': ['1.31',
-                     'fbd2f2fc8f7cb7fda738eef74eb9c732e79bb75a72561b5f8031f116a90ff2c7'],
+ 'sauce-ondemand': ['1.171',
+                    '5a7a1e1eccb199d82227e41e9bce655d33b2e33219f40a9cd0c884780cc26ae8'],
+ 'scm-api': ['2.2.6',
+             'be7cb7c513ebeb361a8ccb5c636541313c1c54b3119566b969fe10a3552cca14'],
+ 'script-security': ['1.39',
+                     '45f488c4635bb8d621e44ebe71d86a4533d6830c600e64338838332ea8a09f6a'],
  'sse-gateway': ['1.15',
                  '56b19b7a48f646dc8269bae4aca41ec11f71756d618d302b1f8b9d688441850f'],
  'ssh-agent': ['1.15',
                'd1c955b883a3e82522a1b97ff044812193bc325c5eb095e23ba8673c2b16e181'],
  'ssh-credentials': ['1.13',
                      'd4f979223cc543dfd9bf72a1177471bb08748d2c79e1115d7bb12198bbbf2010'],
- 'ssh-slaves': ['1.17',
-                '5120c316190a160c85e6c77f97529f93a5a602658eeb18a4d527cf89a9d838df'],
- 'structs': ['1.9',
-             'f8f8afdc02ecc4464d2efd82426c2983ad73d1322a7a64575734a7a8f5f572b9'],
- 'subversion': ['2.9',
-                '509d42da6a1011bd83a0dd0562894ec08ff6e9a11220574be3ca662579801e9a'],
+ 'structs': ['1.10',
+             '090f15f4535eaa1e4789f4acf854478386393432bc0c85558809f0173851a403'],
  'test-results-analyzer': ['0.3.4',
                            'b3aa8c11d59a5c1ac007f86a054a259766bc64ee0ad91be0c2dd1981bce3c6f8'],
- 'token-macro': ['2.1',
-                 'a7e4a70beefb64aa715ba8679cd0a2d41eec0446e65d6d89311a92b63edfed2d'],
- 'translation': ['1.15',
-                 '11a0dd4aaa66d506d1bfc32d367e9c1f28b957296b5729ae9bf0947f5f1301ce'],
+ 'token-macro': ['2.3',
+                 'c3da743e97e958dcbe7f9a41c64ee693c3174824be7faf2ad4625d3dcc7d17f8'],
  'variant': ['1.1',
              '971893fb05da213631b8ea977a32a5d4953f1cb7ab6fbdec9020d503550275ff'],
  'windows-slaves': ['1.3.1',
                     '4364f88286745a48962b86b53df3739a6978886e72ec83289a3cfc750f1adcc6'],
- 'workflow-api': ['2.18',
-                  'c272bb4030edd79febac8f1b89e18bbfc0c2c3b5ef23ddb911bb070c92cabcc8'],
- 'workflow-basic-steps': ['2.4',
-                          'c57d5308a01df1990a7f491ddb6dfc7aab5b7b713ad9cfc458cbef76d27fdbab'],
- 'workflow-cps': ['2.39',
-                  '2fe72eb2b644ffd269a449b44d7b7de4a07ea099cef970c58a6be0056336a85b'],
- 'workflow-cps-global-lib': ['2.8',
-                             '0f09eb5ea402141769d8d923519101d51baaa0e187ecdd3efe275483e4b0ca79'],
- 'workflow-durable-task-step': ['2.11',
-                                '8783a0717d4ab67aaecde4b6c12c77a90784a2f604b75e1ac98506b407c3c5c8'],
- 'workflow-job': ['2.10',
-                  'fd5d5a68270fae99a4514eac6cc2b58ebc37673f5e535f778286a4d36d94405a'],
- 'workflow-multibranch': ['2.14',
-                          '823986f18fc02508d9edae9c9876d0fa08e0b4f4b785707e224eab01bda9f018'],
- 'workflow-scm-step': ['2.4',
-                       '69d58ceb58111663e82928c8db367ba8e857c29aaee9c4264aeb4100fc459e22'],
- 'workflow-step-api': ['2.10',
-                       'ebc6d6555805848bdfd20636fec9a57384f74ece082608dae70e303b4f45e762'],
- 'workflow-support': ['2.14',
-                      '49bf65953ad684e5d4f0f0750dce6f5efed9e67f5d0de26da405945bbd46f01d']}
+ 'workflow-api': ['2.24',
+                  '7478c854502dff163a4e8d0ffc908dadf955c9fa4c7f05be574d5bb635f95a11'],
+ 'workflow-basic-steps': ['2.6',
+                          'ba6bc7f586b902ba6aacae571a8ae78916e7f3e106d8a7da14c348ea933f0016'],
+ 'workflow-cps': ['2.42',
+                  'bc429851596a4975df4b7534600d604c40d76eea84007e177d5f69514331b1dd'],
+ 'workflow-cps-global-lib': ['2.9',
+                             'b5a141c4896be15e09d76fc5b60df3fe701e94d2c2d2015a99ca5147a78b09d1'],
+ 'workflow-durable-task-step': ['2.17',
+                                '1b2dc8bc29c94c4f1dbce1451e727fb5e929ff41ae9a8fc77972b5fea1b9698e'],
+ 'workflow-job': ['2.16',
+                  '86f34b5d505b58922090e06d865d7c36d963dfaea68dfe4e64a82fd20d295f5a'],
+ 'workflow-multibranch': ['2.16',
+                          'c9da6f3085fcde2db4649658779b3230f6356e74a043ab28dc578ef24c756e57'],
+ 'workflow-scm-step': ['2.6',
+                       'a382864adaf0fc80d58243568157a1450028e6d0503a03b81111d4c4de8275d0'],
+ 'workflow-step-api': ['2.14',
+                       '4a0c25d4bb9f985a786774f14c1bdaa02853173e18ad40d49dd13d4c7c8f420e'],
+ 'workflow-support': ['2.16',
+                      '8ae9a3aa7ace6cb11c9b03abf04b4808d1f349efedfef6e1a88c154255929224']}
diff --git a/jenkins/base/update_plugins.py b/jenkins/base/update_plugins.py
new file mode 100644
index 0000000..56db5a8
--- /dev/null
+++ b/jenkins/base/update_plugins.py
@@ -0,0 +1,112 @@
+#!/usr/bin/env python3
+
+import hashlib
+import importlib.machinery
+import json
+import os
+import os.path
+import pprint
+import sys
+import types
+import urllib.request
+
+CACHE_DIR = os.path.expanduser("~/.update_jenkins_plugins")
+
+def get_json_url(name):
+  return "https://plugins.jenkins.io/api/plugin/%s" % name
+
+def get_download_url(name, version):
+  return "http://updates.jenkins-ci.org/download/plugins/%s/%s/%s.hpi" % (name, version, name)
+
+def download_url(url):
+  h = hashlib.sha256(url.encode("utf-8")).hexdigest()
+  fname = os.path.join(CACHE_DIR, h)
+  try:
+    with open(fname, "rb") as f:
+      return f.read()
+  except OSError:
+    with open(fname, "wb") as f:
+      data = urllib.request.urlopen(url).read()
+      f.write(data)
+      return data
+
+def get_plugin_sha256(name, version):
+  url = get_download_url(name, version)
+  data = download_url(url)
+  return hashlib.sha256(data).hexdigest()
+
+def load_plugins_bzl():
+  # Load the current plugins.bzl.
+  loader = importlib.machinery.SourceFileLoader("plugins", "plugins.bzl")
+  plugins = types.ModuleType(loader.name)
+  loader.exec_module(plugins)
+  return plugins.JENKINS_PLUGINS
+
+def get_plugin_json(name):
+  url = get_json_url(name)
+  data = download_url(url)
+  return json.loads(data.decode("utf-8"))
+
+os.makedirs(CACHE_DIR, exist_ok=True)
+
+plugins = load_plugins_bzl()
+
+# Update all plugins to the latest version.
+current_versions = {name: metadata[0] for name, metadata in plugins.items()}
+queue = [(name, metadata) for name, metadata in plugins.items()]
+new_plugins = {}
+rdeps = {}
+
+while queue:
+  name, metadata = queue.pop(0)
+
+  if name in new_plugins:
+    continue
+
+  # Get information from the Jenkins API.
+  plugin_json = get_plugin_json(name)
+  latest_version = plugin_json["version"]
+
+  if name not in current_versions:
+    print("New plug-in: %s (%s)" % (name, latest_version), file=sys.stderr)
+    new_plugins[name] = [latest_version, get_plugin_sha256(name, latest_version)]
+  elif current_versions[name] != latest_version:
+    print("Updated plug-in: %s (%s -> %s)" % (name, metadata[0], latest_version), file=sys.stderr)
+    new_plugins[name] = [latest_version, get_plugin_sha256(name, latest_version)]
+  else:
+    print("Unchanged plug-in: %s (%s)" % (name, metadata[0]), file=sys.stderr)
+    new_plugins[name] = metadata[0:2]
+
+  for dep in plugin_json['dependencies']:
+    if dep["optional"]:
+      continue
+
+    queue.append((dep["name"], None))
+    if dep["name"] not in rdeps:
+      rdeps[dep["name"]] = []
+    rdeps[dep["name"]].append(name)
+
+for name, metadata in new_plugins.items():
+  if name in rdeps:
+    print("%s is depended on by %s" % (name, sorted(rdeps[name])), file=sys.stderr)
+  else:
+    print("%s is depended on by nothing" % name, file=sys.stderr)
+
+# Generate a new plugins.bzl.
+print("""# Copyright 2015 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Plugins for Jenkins
+JENKINS_PLUGINS = {
+ %s""" % pprint.pformat(new_plugins)[1:])
