[MCHANGES-340] Support jira serverId configuration
Closes #18
diff --git a/src/main/java/org/apache/maven/plugins/announcement/AnnouncementMojo.java b/src/main/java/org/apache/maven/plugins/announcement/AnnouncementMojo.java
index 8766de6..a3a1197 100644
--- a/src/main/java/org/apache/maven/plugins/announcement/AnnouncementMojo.java
+++ b/src/main/java/org/apache/maven/plugins/announcement/AnnouncementMojo.java
@@ -48,6 +48,7 @@
import org.apache.maven.plugins.trac.TracDownloader;
import org.apache.maven.plugins.trac.TracIssueManagmentSystem;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.settings.Server;
import org.apache.maven.settings.Settings;
import org.apache.maven.settings.crypto.SettingsDecrypter;
import org.apache.velocity.Template;
@@ -305,6 +306,14 @@
private String jiraUser;
/**
+ * The settings.xml server id to be used for authentication into a private JIRA installation.
+ *
+ * @since 3.0.0
+ */
+ @Parameter( property = "changes.jiraServerId" )
+ private String jiraServerId;
+
+ /**
* Path to the JIRA XML file, which will be parsed.
*/
@Parameter( defaultValue = "${project.build.directory}/jira-announcement.xml", required = true, readonly = true )
@@ -767,9 +776,17 @@
jiraDownloader.setFilter( filter );
- jiraDownloader.setJiraUser( jiraUser );
-
- jiraDownloader.setJiraPassword( jiraPassword );
+ if ( jiraServerId != null )
+ {
+ final Server server = mavenSession.getSettings().getServer( jiraServerId );
+ jiraDownloader.setJiraUser( server.getUsername() );
+ jiraDownloader.setJiraPassword( server.getPassword() );
+ }
+ else
+ {
+ jiraDownloader.setJiraUser( jiraUser );
+ jiraDownloader.setJiraPassword( jiraPassword );
+ }
jiraDownloader.setUseJql( useJql );
diff --git a/src/main/java/org/apache/maven/plugins/jira/JiraMojo.java b/src/main/java/org/apache/maven/plugins/jira/JiraMojo.java
index 1d9c317..a06053b 100644
--- a/src/main/java/org/apache/maven/plugins/jira/JiraMojo.java
+++ b/src/main/java/org/apache/maven/plugins/jira/JiraMojo.java
@@ -36,6 +36,7 @@
import org.apache.maven.plugins.issues.IssuesReportGenerator;
import org.apache.maven.plugins.issues.IssuesReportHelper;
import org.apache.maven.reporting.MavenReportException;
+import org.apache.maven.settings.Server;
import org.apache.maven.settings.Settings;
/**
@@ -150,6 +151,14 @@
private String jiraUser;
/**
+ * The settings.xml server id to be used for authentication into a private JIRA installation.
+ *
+ * @since 3.0.0
+ */
+ @Parameter( property = "changes.jiraServerId" )
+ private String jiraServerId;
+
+ /**
* Path to the JIRA XML file, which will be parsed.
*/
@Parameter( defaultValue = "${project.build.directory}/jira-results.xml", required = true, readonly = true )
@@ -430,9 +439,17 @@
issueDownloader.setJiraDatePattern( jiraDatePattern );
- issueDownloader.setJiraUser( jiraUser );
-
- issueDownloader.setJiraPassword( jiraPassword );
+ if ( jiraServerId != null )
+ {
+ final Server server = mavenSession.getSettings().getServer( jiraServerId );
+ issueDownloader.setJiraUser( server.getUsername() );
+ issueDownloader.setJiraPassword( server.getPassword() );
+ }
+ else
+ {
+ issueDownloader.setJiraUser( jiraUser );
+ issueDownloader.setJiraPassword( jiraPassword );
+ }
issueDownloader.setTypeIds( typeIds );