仅在 maven-changes-plugin JIRA 报告中包含特定问题

Only include specific issues in maven-changes-plugin JIRA report

我目前正在使用 maven-changes-plugin 为给定的 fixVersionId 生成 JIRA 报告,如下所示:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-changes-plugin</artifactId>
    <version>2.9</version>
    <configuration>
        <fixVersionIds>16355</fixVersionIds>
    </configuration>
</plugin>

但是,如果不是特定的 fixVersionId,我希望能够包含特定的问题怎么办?有没有办法做到这一点?我在 usage documentation.

中没有看到选项

我可以在实际的 Jira 站点“issueKey=ISSUE-10 OR issueKey=ISSUE=11”上使用 JQL,但将它放在过滤器属性中似乎不起作用(我将 useJql 设置为 true)。即使使用像“resolution=1”这样的简单代码也不起作用(文档站点上的示例也不起作用)。我可以在日志中看到这两个属性都设置正确,但是当它对 JIRA 进行 API 调用时,它只使用默认设置,根本不使用 filter 属性:

Payload: {"jql":"project = RESONANCE AND status in (6) AND resolution in (1) ORDER BY priority DESC, created DESC","maxResults":100,"fields":["*all"]}

我可能遗漏了什么?

不幸的是,这似乎是一个错误。插件使用的 RestJiraDownloader 根本不使用过滤器 属性。

我提交了一个问题:https://issues.apache.org/jira/browse/MCHANGES-353。我实际上检查了一个本地副本并修复了它,它按预期工作。希望我能有时间提交补丁。

如果您想自己修复它,请转到 RestJiraDownloader 中的 doExecute 方法并将 filter 方法链接到 jqlQuery 字符串构建,如下所示:

    String jqlQuery = new JqlQueryBuilder( log ).urlEncode( false ).project( jiraProject ).fixVersion(
        getFixFor() ).fixVersionIds( resolvedFixVersionIds ).statusIds( resolvedStatusIds ).priorityIds(
        resolvedPriorityIds ).resolutionIds( resolvedResolutionIds ).components( resolvedComponentIds ).typeIds(
        resolvedTypeIds ).sortColumnNames( sortColumnNames ).filter(filter).build();