如何以编程方式从Jira Studio的发行号中获取源代码信息? [英] How can I programatically get Source code information from Issue Number in Jira Studio?

查看:121
本文介绍了如何以编程方式从Jira Studio的发行号中获取源代码信息?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

JIRA Studio(问题"区域,基本上是看起来像"JIRA"的部分)包括源"选项卡.我们将此链接到我们的Subversion实例(通过在签入过程中在Message中添加发行号),这对于人工流程非常有用,但是我无法在JIRA,Subversion或Fisheye API中找到方法来解决此问题关联.

JIRA Studio (the "Issues" area, which is basically the part that just looks like "JIRA") includes a Source Tab. We link this to our Subversion instance (by including an issue number in the Message during check-in), this work great for human processes, but I can't find a way in the JIRA, Subversion, or Fisheye APIs to get at this link.

理想情况下,我想在JIRA api上调用getIssue,并让它返回Subversion修订版ID以及它返回的所有其他信息,但是我也会采取任何其他解决方法!我将很高兴处理SOAP,XML-RPC,REST,命令行或通讯录.

Ideally, I'd like to call getIssue on the JIRA api and have it return the Subversion Revision IDs along with all the other info it returns, but I'd take any sort of work-around available too! I will happily deal with SOAP, XML-RPC, REST, Command-Line, or carrier pigeon.

这是我想要显示的带有源选项卡"数据的UI外观(抱歉,新用户,无法直接发布图像): 吉拉屏幕捕获

Here is what it looks like in the UI with the "Source Tab" data I want shown (sorry, new user, can't post images directly): Jira Screen Capture

推荐答案

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

I didn't try myself but if you have a look at the fisheye plugin, it might be very instructive how to access that information using an EQL query. http://confluence.atlassian.com/display/FISHEYE/EyeQL+Reference+Guide

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

Code excerpt from the fisheye plugin: https://studio.plugins.atlassian.com/source/browse/~raw,r=157831/FISH/trunk/src/main/java/com/atlassian/jirafisheyeplugin/ChangeSetManagerImpl.java

` public ChangeSets getChangesetsForIssue(最终字符串issueKey,字符串projectKey){ SearchConfig searchConfig =新的SearchConfig(fisheyeConfig.getMaxIssueChangeSets(),false,false,true, SearchConfig.SEARCHTYPE_CHRONOLOGICAL);

` 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;
}

`

这篇关于如何以编程方式从Jira Studio的发行号中获取源代码信息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆