Repository: intuit/auto (ts)

Issue:
Maven release multiple tags for the same release
**Describe the bug**
Given release `1.0.0`, during the maven plugin release we create tag  `v1.0.0`. However during the post step in `auto.loadDefaultBehavior` auto pushes release notes to tag `1.0.0`. This is due to `newVersion` missing the prefix. We can fix this in maven plugin by overriding new version post maven release execution. 
https://github.com/intuit/auto/blob/master/plugins/maven/src/index.ts#L141-L142
``` javascript
await execPromise('mvn', [
        '-B',
        'release:prepare',
        `-Dtag=v${newVersion}`,
        `-DreleaseVersion=${newVersion}`,
        '-DpushChanges=false'
      ]);
```

<!-- A clear and concise description of what the bug is. -->

**To Reproduce**

execute maven plugins, it will result in two tags for the same release. `v1.0.0`, `1.0.0`

**Expected behavior**

<!-- A clear and concise description of what you expected to happen. -->

**Screenshots**

<!-- If applicable, add screenshots to help explain your problem. -->

**Desktop (please complete the following information):**

- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Additional context**

<!-- Add any other context about the problem here. -->


Pull request description:
fix maven release creation
# What Changed

Use `auto.prefixRelease` to correctly prefix the version for the release command.

# Why

closes #926 

Todo:

- [x] Add tests

<!-- GITHUB_RELEASE PR BODY: canary-version -->
<details>
  <summary>📦 Published PR as canary version: <code>under canary scope @auto-canary@9.8.4-canary.927.12102.0</code></summary>
  <br />
  
  :sparkles: Test out this PR locally via:
  
  ```sh
  npm install @auto-canary/auto@9.8.4-canary.927.12102.0
  npm install @auto-canary/core@9.8.4-canary.927.12102.0
  npm install @auto-canary/all-contributors@9.8.4-canary.927.12102.0
  npm install @auto-canary/chrome@9.8.4-canary.927.12102.0
  npm install @auto-canary/conventional-commits@9.8.4-canary.927.12102.0
  npm install @auto-canary/crates@9.8.4-canary.927.12102.0
  npm install @auto-canary/first-time-contributor@9.8.4-canary.927.12102.0
  npm install @auto-canary/git-tag@9.8.4-canary.927.12102.0
  npm install @auto-canary/jira@9.8.4-canary.927.12102.0
  npm install @auto-canary/maven@9.8.4-canary.927.12102.0
  npm install @auto-canary/npm@9.8.4-canary.927.12102.0
  npm install @auto-canary/omit-commits@9.8.4-canary.927.12102.0
  npm install @auto-canary/omit-release-notes@9.8.4-canary.927.12102.0
  npm install @auto-canary/released@9.8.4-canary.927.12102.0
  npm install @auto-canary/s3@9.8.4-canary.927.12102.0
  npm install @auto-canary/slack@9.8.4-canary.927.12102.0
  npm install @auto-canary/twitter@9.8.4-canary.927.12102.0
  npm install @auto-canary/upload-assets@9.8.4-canary.927.12102.0
  # or 
  yarn add @auto-canary/auto@9.8.4-canary.927.12102.0
  yarn add @auto-canary/core@9.8.4-canary.927.12102.0
  yarn add @auto-canary/all-contributors@9.8.4-canary.927.12102.0
  yarn add @auto-canary/chrome@9.8.4-canary.927.12102.0
  yarn add @auto-canary/conventional-commits@9.8.4-canary.927.12102.0
  yarn add @auto-canary/crates@9.8.4-canary.927.12102.0
  yarn add @auto-canary/first-time-contributor@9.8.4-canary.927.12102.0
  yarn add @auto-canary/git-tag@9.8.4-canary.927.12102.0
  yarn add @auto-canary/jira@9.8.4-canary.927.12102.0
  yarn add @auto-canary/maven@9.8.4-canary.927.12102.0
  yarn add @auto-canary/npm@9.8.4-canary.927.12102.0
  yarn add @auto-canary/omit-commits@9.8.4-canary.927.12102.0
  yarn add @auto-canary/omit-release-notes@9.8.4-canary.927.12102.0
  yarn add @auto-canary/released@9.8.4-canary.927.12102.0
  yarn add @auto-canary/s3@9.8.4-canary.927.12102.0
  yarn add @auto-canary/slack@9.8.4-canary.927.12102.0
  yarn add @auto-canary/twitter@9.8.4-canary.927.12102.0
  yarn add @auto-canary/upload-assets@9.8.4-canary.927.12102.0
  ```
</details>
<!-- GITHUB_RELEASE PR BODY: canary-version -->


Patch:
diff --git a/docs/pages/build-platforms/jenkins.md b/docs/pages/build-platforms/jenkins.md
index 40ac2c6c..351be3ca 100644
--- a/docs/pages/build-platforms/jenkins.md
+++ b/docs/pages/build-platforms/jenkins.md
@@ -16,7 +16,7 @@ You must use some sort of step that implements `skip ci` functionality. Otherwis
 pipeline {
   environment {
     NPM_TOKEN = credentials('NPM_TOKEN')
-    GH_USER = credentials('GH_USER')
+    GH_USER = credentials('GH_TOKEN')
     GH_TOKEN = credentials('GH_TOKEN')
   }
   stages {
diff --git a/plugins/maven/src/index.ts b/plugins/maven/src/index.ts
index 74f4eef7..837fca47 100644
--- a/plugins/maven/src/index.ts
+++ b/plugins/maven/src/index.ts
@@ -114,8 +114,8 @@ export default class MavenPlugin implements IPlugin {
       return developer;
     });
 
-    auto.hooks.getPreviousVersion.tapPromise(this.name, () =>
-      getPreviousVersion(auto)
+    auto.hooks.getPreviousVersion.tapPromise(this.name, async () =>
+      auto.prefixRelease(await getPreviousVersion(auto))
     );
 
     auto.hooks.version.tapPromise(this.name, async version => {
@@ -138,7 +138,7 @@ export default class MavenPlugin implements IPlugin {
       await execPromise('mvn', [
         '-B',
         'release:prepare',
-        `-Dtag=v${newVersion}`,
+        `-Dtag=${auto.prefixRelease(newVersion)}`,
         `-DreleaseVersion=${newVersion}`,
         '-DpushChanges=false'
       ]);


Test patch:
diff --git a/plugins/maven/__tests__/maven.test.ts b/plugins/maven/__tests__/maven.test.ts
index bff7c6d4..e3c02fa3 100644
--- a/plugins/maven/__tests__/maven.test.ts
+++ b/plugins/maven/__tests__/maven.test.ts
@@ -20,7 +20,7 @@ describe('maven', () => {
     plugin.apply({
       hooks,
       logger: dummyLog(),
-      prefixRelease: r => r
+      prefixRelease: r => `v${r}`
     } as Auto.Auto);
   });
 
@@ -169,7 +169,7 @@ describe('maven', () => {
         </project>
       `);
 
-      expect(await hooks.getPreviousVersion.promise()).toBe('1.0.0');
+      expect(await hooks.getPreviousVersion.promise()).toBe('v1.0.0');
     });
 
     test('should throw when no version in pom.xml', async () => {