2014-02-25 46 views
1

我試圖在Maven changes-plugin的幫助下通過Jira獲取發行註記。我的POM看起來是這樣的:Maven更改 - 插件無法生成jira報告

<issueManagement> 
    <system>Jira</system> 
    <url>https://url_to_jira</url> 
</issueManagement> 

<reporting> 
<plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-changes-plugin</artifactId> 
     <version>2.9</version> 
     <configuration> 
      <fixVersionIds>14876</fixVersionIds> 
      <jiraUser>myUser</jiraUser> 
      <jiraPassword>myPassword</jiraPassword> 
      <webUser>myUser</webUser> 
      <webPassword>myPassword</webPassword> 
     </configuration> 
    </plugin> 
</plugins> 
</reporting> 

我然後調用mvn changes:jira-report這對我產生一個空的HTML頁面。它總是警告我,

[WARNING] Deprecated API called - not org.apache.maven.doxia.sink.Sink instance and no SinkFactory available. Please update this plugin. 
[WARNING] 
org.apache.maven.plugin.MojoFailureException: Could not find status Closed. 

這並沒有什麼幫助。運行mvn-X給我看,由於某種原因請求頭沒有認證部分。

--------------------------- 
ID: 1 
Address: https://url_to_jira/rest/api/2/serverInfo 
Http-Method: GET 
Content-Type: */* 
Headers: {Accept=[application/json], Content-Type=[*/*]} 
-------------------------------------- 
Feb 25, 2014 12:51:00 PM org.apache.cxf.interceptor.LoggingInIn 
INFO: Inbound Message 
---------------------------- 
ID: 1 
Response-Code: 200 
Encoding: UTF-8 
Content-Type: application/json;charset=UTF-8 
Headers: {Cache-Control=[no-cache, no-store, no-transform], con 
Payload: {stuff} 
-------------------------------------- 
Feb 25, 2014 12:51:00 PM org.apache.cxf.interceptor.LoggingOutI 
INFO: Outbound Message 
--------------------------- 
ID: 2 
Address: https://url_to_jira/rest/api/2/status 
Http-Method: GET 
Content-Type: */* 
Headers: {Accept=[application/json], Content-Type=[*/*]} 
-------------------------------------- 
Feb 25, 2014 12:51:00 PM org.apache.cxf.interceptor.LoggingInIn 
INFO: Inbound Message 
---------------------------- 
ID: 2 
Response-Code: 200 
Encoding: UTF-8 
Content-Type: application/json;charset=UTF-8 
Headers: {//somestuff//, X-AUSERNAME=[anonymous]} 
Payload: [] 
-------------------------------------- 

注意X-AUSERNAME=[anonymous] -part。

所以有它試圖獲取狀態列表,並得到一個空的列表,而不是,因爲它甚至不嘗試自己與Jira,這是奇怪的認證,因爲我提供了一個webUser和一個裏面有密碼一個jiraUser我的朋友。

任何想法?

回答

0

原因是您安裝的JIRA使用自定義狀態ID。

我找到解決方案。你應該去下面的鏈接以獲得resolutionstatus

http://jira.xxx.com/rest/api/2/resolution/ 
http://jira.xxx.com/rest/api/2/status/ 

,然後使用idname從以上結果CONFIG resolutionIdsstatusIds

<issueManagement> 
    <system>JIRA</system> 
    <url>http://jira.xxx.com/browse/PROJ_NAME</url> 
    </issueManagement> 

    <reporting> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-changes-plugin</artifactId> 
     <version>2.12.1</version> 
     <configuration> 
      <useJql>true</useJql> 
      <jiraUser>username</jiraUser> 
      <jiraPassword>password</jiraPassword> 
      <!-- 
       <onlyCurrentVersion>true</onlyCurrentVersion> 
      --> 
       <!-- http://jira.xxx.com/rest/api/2/resolution/ --> 
       <!-- http://jira.xxx.com/rest/api/2/status/ --> 
       <resolutionIds>10010</resolutionIds> 
       <statusIds>10011</statusIds> 
     </configuration> 
     <reportSets> 
      <reportSet> 
      <reports> 
      <!-- 
       <report>changes-report</report> 
      --> 
       <report>jira-report</report> 
      </reports> 
      </reportSet> 
     </reportSets> 
     </plugin> 
    </plugins> 
    </reporting> 

您可以更改設置爲管理員managementissuesissue propertiesstatusesresolutions菜單。另請參閱:https://maven.apache.org/plugins/maven-changes-plugin/jira-report-mojo.html#statusIds