diff --git a/lib/manager/buildkite/extract.js b/lib/manager/buildkite/extract.js
index 013bb8fc6bb0d8205d22eed382b5ed0e5b8f45a5..d6b6a53c3effe237c72d3da71ef5ab5183daf407 100644
--- a/lib/manager/buildkite/extract.js
+++ b/lib/manager/buildkite/extract.js
@@ -17,7 +17,7 @@ function extractPackageFile(content) {
         logger.trace(`Matched plugins on line ${lineNumber}`);
         const depLine = lines[lineNumber + 1];
         logger.debug(`serviceImageLine: "${depLine}"`);
-        const depLineMatch = depLine.match(/^\s+([^#]+)#([^:]+):/);
+        const depLineMatch = depLine.match(/^\s+(?:-\s+)?([^#]+)#([^:]+):/);
         if (depLineMatch) {
           logger.trace('depLineMatch');
           lineNumber += 1;
diff --git a/test/manager/buildkite/__snapshots__/extract.spec.js.snap b/test/manager/buildkite/__snapshots__/extract.spec.js.snap
index 048e3c120da50299e3687217622474eb2019814e..d28c474130402119bd4b557f39c52f33229ddd4f 100644
--- a/test/manager/buildkite/__snapshots__/extract.spec.js.snap
+++ b/test/manager/buildkite/__snapshots__/extract.spec.js.snap
@@ -29,6 +29,27 @@ Array [
 ]
 `;
 
+exports[`lib/manager/buildkite/extract extractPackageFile() extracts arrays of plugins 1`] = `
+Array [
+  Object {
+    "currentValue": "v2.0.1",
+    "depName": "docker-login",
+    "lineNumber": 2,
+    "purl": "pkg:github/buildkite-plugins/docker-login-buildkite-plugin",
+    "skipReason": undefined,
+    "versionScheme": "semver",
+  },
+  Object {
+    "currentValue": "v2.0.1",
+    "depName": "docker-login",
+    "lineNumber": 10,
+    "purl": "pkg:github/buildkite-plugins/docker-login-buildkite-plugin",
+    "skipReason": undefined,
+    "versionScheme": "semver",
+  },
+]
+`;
+
 exports[`lib/manager/buildkite/extract extractPackageFile() extracts multiple plugins in same file 1`] = `
 Array [
   Object {
diff --git a/test/manager/buildkite/extract.spec.js b/test/manager/buildkite/extract.spec.js
index 95cd39326cc3397749f8353cff0e3f5bdf354228..b18f3a150cf245e89fd31ce7fcfb2cea3ba650a4 100644
--- a/test/manager/buildkite/extract.spec.js
+++ b/test/manager/buildkite/extract.spec.js
@@ -15,6 +15,10 @@ const pipeline3 = fs.readFileSync(
   'test/_fixtures/buildkite/pipeline3.yml',
   'utf8'
 );
+const pipeline4 = fs.readFileSync(
+  'test/_fixtures/buildkite/pipeline4.yml',
+  'utf8'
+);
 
 describe('lib/manager/buildkite/extract', () => {
   describe('extractPackageFile()', () => {
@@ -40,5 +44,10 @@ describe('lib/manager/buildkite/extract', () => {
       expect(res).toMatchSnapshot();
       expect(res).toHaveLength(3);
     });
+    it('extracts arrays of plugins', () => {
+      const res = extractPackageFile(pipeline4, config).deps;
+      expect(res).toMatchSnapshot();
+      expect(res).toHaveLength(2); // TODO: should be 4
+    });
   });
 });
diff --git a/test/manager/buildkite/update.spec.js b/test/manager/buildkite/update.spec.js
index fbd0143b647f20f1ebff2c14dc5615f55b8c998f..648d3360cf02002c69a82f541502ad50025c8cb9 100644
--- a/test/manager/buildkite/update.spec.js
+++ b/test/manager/buildkite/update.spec.js
@@ -9,6 +9,10 @@ const pipeline2 = fs.readFileSync(
   'test/_fixtures/buildkite/pipeline2.yml',
   'utf8'
 );
+const pipeline4 = fs.readFileSync(
+  'test/_fixtures/buildkite/pipeline4.yml',
+  'utf8'
+);
 
 describe('manager/buildkite/update', () => {
   describe('updateDependency', () => {
@@ -21,6 +25,15 @@ describe('manager/buildkite/update', () => {
       expect(res).not.toEqual(pipeline1);
       expect(res.includes(upgrade.newValue)).toBe(true);
     });
+    it('replaces arrays', () => {
+      const upgrade = {
+        lineNumber: 10,
+        newValue: 'v2.2.0',
+      };
+      const res = bkUpdate.updateDependency(pipeline4, upgrade);
+      expect(res).not.toEqual(pipeline4);
+      expect(res.includes(upgrade.newValue)).toBe(true);
+    });
     it('replaces two values in one file', () => {
       const upgrade1 = {
         lineNumber: 4,