如何以编程方式从Jira Studio中的问题编号获取源代码信息?

时间:2011-03-15 15:42:55

标签: svn jira atlassian-fisheye

JIRA Studio(“问题”区域,基本上看起来像“JIRA”的部分)包括一个Source选项卡。我们将它链接到我们的Subversion实例(通过在签入期间在Message中包含一个问题编号),这项工作非常适合人类进程,但我无法在JIRA,Subversion或Fisheye API中找到方法来实现此目的链接。

理想情况下,我想在JIRA api上调用getIssue并让它返回Subversion修订版ID以及它返回的所有其他信息,但我也可以使用任何类型的解决方法!我很乐意处理SOAP,XML-RPC,REST,命令行或载体鸽。

以下是我想要显示的“源标签”数据在UI中的样子(对不起,新用户,无法直接发布图片): Jira Screen Capture

1 个答案:

答案 0 :(得分:0)

我没有尝试自己,但如果你看一下fisheye插件,如何使用EQL查询访问该信息可能非常有启发性。 http://confluence.atlassian.com/display/FISHEYE/EyeQL+Reference+Guide

fisheye插件的代码摘录: https://studio.plugins.atlassian.com/source/browse/~raw,r=157831/FISH/trunk/src/main/java/com/atlassian/jirafisheyeplugin/ChangeSetManagerImpl.java

`     public ChangeSets getChangesetsForIssue(final String issueKey,String projectKey){         SearchConfig searchConfig = new SearchConfig(fisheyeConfig.getMaxIssueChangeSets(),false,false,true,         SearchConfig.SEARCHTYPE_CHRONOLOGICAL);

    P4Query query = new P4Query() {
        public Object doQuery(FishEyeRepository rep, boolean searchJobId) throws IOException {
            EyeQLQuery query = new EyeQLQuery();
            query.setDir("/");
            if (searchJobId) {
                query.addWhereClause(WhereClauseFactory.issueKeyOrJobIdMatches(issueKey));
            } else {
                query.addWhereClause(WhereClauseFactory.issueKeyMatches(issueKey));
            }
            query.setOrderByDate(true);
            query.setGroupBy(EyeQLQuery.GROUP_BY_CHANGESET);
            query.addReturnClause("csid");
            return apiManager.callFisheye(rep, RestCommandFactory.query(query), CsIdParser.PARSER);
        }
    };

    ChangeSets changesets = searchForChangeSets(projectKey, query, searchConfig);
    changesets.applyFilter(new IssueKeyInCommentOrJobIdFilter(issueKey));
    return changesets;
}

`