diff --git a/lib/config/massage.js b/lib/config/massage.js
index f1497df21bba30ebdbfb8c17dc15ba2ca6e70807..a13b386284f81aee7c6d62078fd1104ab1fafcdf 100644
--- a/lib/config/massage.js
+++ b/lib/config/massage.js
@@ -38,5 +38,35 @@ function massageConfig(config) {
       massagedConfig[key] = massageConfig(val);
     }
   }
+  if (massagedConfig.packageRules) {
+    const newRules = [];
+    const updateTypes = [
+      'major',
+      'minor',
+      'patch',
+      'pin',
+      'digest',
+      'lockFileMaintenance',
+      'rollback',
+    ];
+    for (const rule of massagedConfig.packageRules) {
+      newRules.push(rule);
+      for (const [key, val] of Object.entries(rule)) {
+        if (updateTypes.includes(key)) {
+          const newRule = deepcopy(rule);
+          newRule.updateTypes = rule.updateTypes || [];
+          newRule.updateTypes.push(key);
+          Object.assign(newRule, val);
+          newRules.push(newRule);
+        }
+      }
+    }
+    for (const rule of newRules) {
+      updateTypes.forEach(updateType => {
+        delete rule[updateType];
+      });
+    }
+    massagedConfig.packageRules = newRules;
+  }
   return massagedConfig;
 }
diff --git a/test/config/__snapshots__/massage.spec.js.snap b/test/config/__snapshots__/massage.spec.js.snap
index 5b3b9202f99a3d7b90bae3664e096c9843f12914..e6b8c49f9eb2eb841d81f10709bfec7e16956615 100644
--- a/test/config/__snapshots__/massage.spec.js.snap
+++ b/test/config/__snapshots__/massage.spec.js.snap
@@ -7,4 +7,34 @@ Object {
 }
 `;
 
+exports[`config/massage massageConfig massages packageRules updateTypes 1`] = `
+Object {
+  "packageRules": Array [
+    Object {
+      "packageNames": Array [
+        "foo",
+      ],
+    },
+    Object {
+      "packageNames": Array [
+        "foo",
+      ],
+      "semanticCommitType": "feat",
+      "updateTypes": Array [
+        "minor",
+      ],
+    },
+    Object {
+      "packageNames": Array [
+        "foo",
+      ],
+      "semanticCommitType": "fix",
+      "updateTypes": Array [
+        "patch",
+      ],
+    },
+  ],
+}
+`;
+
 exports[`config/massage massageConfig returns empty 1`] = `Object {}`;
diff --git a/test/config/massage.spec.js b/test/config/massage.spec.js
index fa8bb4ec5ad30f43eb371f3e20b54e7859446891..c06ffb73297d795bc5723cbc40ef0e004df38676 100644
--- a/test/config/massage.spec.js
+++ b/test/config/massage.spec.js
@@ -20,5 +20,23 @@ describe('config/massage', () => {
       };
       expect(massage.massageConfig(config)).toMatchSnapshot();
     });
+    it('massages packageRules updateTypes', () => {
+      const config = {
+        packageRules: [
+          {
+            packageNames: ['foo'],
+            minor: {
+              semanticCommitType: 'feat',
+            },
+            patch: {
+              semanticCommitType: 'fix',
+            },
+          },
+        ],
+      };
+      const res = massage.massageConfig(config);
+      expect(res).toMatchSnapshot();
+      expect(res.packageRules).toHaveLength(3);
+    });
   });
 });