Note: See the goal documentation for detailed info on which feature was added in which version.
If you are using GitHub Enterprise you will want to make sure that the githubAPIScheme and githubAPIPort are correct (they default to "http" and 80 by default). If either of these are incorrect make sure to include them in your configuration.
<project> ... <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changes-plugin</artifactId> <version>2.12.1</version> <configuration> <githubAPIScheme>https</githubAPIScheme> <githubAPIPort>443</githubAPIPort> </configuration> ... </plugin> </plugins> </reporting> ... </project>
We'll start off by creating a GitHub Report for one or more versions of your project. There are two ways to do this.
If you only want to include closed issues in your report make sure to configure the includeOpenIssues to false in your configuration, which is true by default.
<project> ... <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changes-plugin</artifactId> <version>2.12.1</version> <configuration> <includeOpenIssues>false</includeOpenIssues> </configuration> ... </plugin> </plugins> </reporting> ... </project>
If you only want to include issues that do not have a milestone attached to them in your report make sure to configure the onlyMilestoneIssues to false in your configuration, which is true by default.
<project> ... <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changes-plugin</artifactId> <version>2.12.1</version> <configuration> <onlyMilestoneIssues>false</onlyMilestoneIssues> </configuration> ... </plugin> </plugins> </reporting> ... </project>
If you are lazy and only ever want the latest release in you GitHub Report, you can use the <onlyCurrentVersion> configuration parameter. It will take the version from your project's POM and try to match it against the milestone title of the GitHub issues.
Once you have configured this, you can forget about it, as it updates itself when you change the version number in your POM.
Note: The names of your milestones in GitHub must match the ones you use in your POM. The -SNAPSHOT part of the version in your POM is handled automatically by the plugin, so you don't need to include -SNAPSHOT in the names of your milestones in GitHub.
<project> ... <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changes-plugin</artifactId> <version>2.12.1</version> <configuration> <onlyCurrentVersion>true</onlyCurrentVersion> </configuration> ... </plugin> </plugins> </reporting> ... </project>
You can select which columns to include in the report.
<project> ... <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changes-plugin</artifactId> <version>2.12.1</version> <configuration> <columnNames>Type,Key,Summary,Assignee,Status,Fix Version</columnNames> </configuration> ... </plugin> </plugins> </reporting> ... </project>