我们使用maven-changes插件来生成发布公告。不幸的是,“maven: JIRA -report”命令返回到RSS进行问题下载:这个JIRA服务器不支持REST的第2版,而maven-changes-plugin需要这个版本。请参见下面的命令错误日志:
[INFO] Falling back to RSS for issue download: This JIRA server does not support version 2 of the REST API, which maven-changes-plugin requires.
[WARNING] Unable to respond to any of these challenges: {oauth=OAuth realm="https%3A%2F%2Fjira.myjira.com%3A8443"}
[INFO] Downloading from JIRA at: https://jira.myjira.com/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?tempMax=100&reset=true&jqlQuery=project+%3D+CP+AND+fixVersion+%3D+%223.2.1-alpha-4%22+AND+status+in+%28Closed%29+AND+resolution+in+%28Fixed%29+ORDER+BY+priority+DESC%2C+created+DESC
[WARNING] Unable to respond to any of these challenges: {oauth=OAuth realm="https%3A%2F%2Fjira.myjira.com%3A8443"}
[WARNING] Downloading from JIRA failed. Received: [401]
[WARNING] JIRA file /Users/jay/3.2.1-alpha/marketplace/target/jira-results.xml doesn't exist.
[WARNING]
org.apache.maven.plugin.MojoExecutionException: Couldn't find any issues for the version '3.2.1-alpha-4' among the supplied issues: []
at org.apache.maven.plugin.issues.IssueUtils.getIssuesForVersion(IssueUtils.java:119)
at org.apache.maven.plugin.jira.JiraMojo.executeReport(JiraMojo.java:387)
at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:255)
at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:210)
at org.apache.maven.plugin.changes.AbstractChangesReport.execute(AbstractChangesReport.java:207)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)环境信息
JIRA Standalone 5.2.5
maven-changes-plugin v2.11pom.xml节选
<issueManagement>
<system>JIRA</system>
<url>https://jira.myjira.com:8443/browse/CP</url>
</issueManagement>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changes-plugin</artifactId>
<version>2.11</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>announcement-generate</goal>
</goals>
<id>announcement-generate</id>
</execution>
<execution>
<phase>deploy</phase>
<goals>
<goal>announcement-mail</goal>
</goals>
<id>announcement-mail</id>
</execution>
</executions>
<configuration>
<useJql>true</useJql>
<jiraUser>xxx</jiraUser>
<jiraPassword>xxx</jiraPassword>
<webUser>xxx</webUser>
<webPassword>xxx</webPassword>
<onlyCurrentVersion>true</onlyCurrentVersion>
<smtpHost>relay.edsmtp.net</smtpHost>
<smtpPort implementation="java.lang.Integer">25</smtpPort>
<toAddresses>
<toAddress implementation="java.lang.String">to@email.com</toAddress>
</toAddresses>
<mailSender>
<name>Release Notification</name>
<email>projectupdates@email.com</email>
</mailSender>
<issueManagementSystems>
<issueManagementSystem>JIRA</issueManagementSystem>
</issueManagementSystems>
</configuration>
</plugin>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changes-plugin</artifactId>
<version>2.11</version>
<configuration>
<useJql>true</useJql>
<jiraUser>xxx</jiraUser>
<jiraPassword>xxx</jiraPassword>
<webUser>xxx</webUser>
<webPassword>xxx</webPassword>
<onlyCurrentVersion>true</onlyCurrentVersion>
<resolutionIds>Unresolved</resolutionIds>
<statusIds>Open</statusIds>
<typeIds>Bug, New Feature, Improvement</typeIds>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>jira-report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>感谢你的指点。
谢谢
发布于 2014-10-17 13:24:14
您会得到这个错误,因为它尝试访问的第一个REST方法(https://myjiraserver/rest/api/2/serverInfo)在试图访问资源时没有返回HTTP200。
您的JIRA版本应该支持REST的v2,因此您可能会因为以下原因之一而得到该错误:
在后一种情况下,您可以尝试将Maven指向JIRA的非SSL端口(如果您仍然可以在JIRA的conf/server.xml中访问该<Connector> ),或者查看是否可以由Maven使用的adding the cert to the trust store修复它。
我认为选项2的可能性较小,因为如果存在证书验证问题,我希望WebClient库会抛出异常,但我承认,我还没有深入了解它在该场景中所做的事情。
105 Map<String, String> urlMap = JiraHelper.getJiraUrlAndProjectName( project.getIssueManagement().getUrl() );
106 String jiraUrl = urlMap.get( "url" );
107 jiraProject = urlMap.get( "project" );
108
109 // This classloader juggling is a workaround for a classic Maven 2 class loader management bug.
110 ClassLoader ccl = Thread.currentThread().getContextClassLoader();
111 try
112 {
113 Thread.currentThread().setContextClassLoader( WebClient.class.getClassLoader( ) );
114 WebClient client = setupWebClient( jiraUrl );
115
116 // We use version 2 of the REST API, that first appeared in JIRA 5
117 // Check if version 2 of the REST API is supported
118 // http://docs.atlassian.com/jira/REST/5.0/
119 // Note that serverInfo can always be accessed without authentication
120 client.replacePath( "/rest/api/2/serverInfo" );
121 client.accept( MediaType.APPLICATION_JSON );
122 Response siResponse = client.get();
123 if ( siResponse.getStatus() != Response.Status.OK.getStatusCode() )
124 {
125 throw new NoRest(
126 "This JIRA server does not support version 2 of the REST API, which maven-changes-plugin requires." );
127 }
128 https://stackoverflow.com/questions/26415860
复制相似问题