1

我正在编写一个扩展程序,用于分析将变更集传递到流中的文件。它是一个顾问,因为如果分析失败,那么您将无法交付任何东西。

此外,我还阅读了以下文章:

https://jazz.net/library/article/1000 https://rsjazz.wordpress.com/2013/02/28/setting-up-rational-team-concert-for-api-development/ https://jazz .net/wiki/bin/view/Main/CustomPreconditionsTable

但我还有一些疑问。我创建了一个插件项目,扩展点 ID:com.ibm.team.scm.server.deliver 和一个 java 类,但我不知道如何获取传递中包含的文件的路径以进行分析:

import org.eclipse.core.runtime.IProgressMonitor;
import com.ibm.team.process.common.IProcessConfigurationElement;
import com.ibm.team.process.common.advice.AdvisableOperation;
import com.ibm.team.process.common.advice.IAdvisorInfoCollector;
import com.ibm.team.process.common.advice.runtime.IOperationAdvisor;
import com.ibm.team.repository.common.TeamRepositoryException;
import com.ibm.team.repository.service.AbstractService;


public class CheckBadCharacterAdvisor extends AbstractService implements IOperationAdvisor{

    @Override
    public void run(AdvisableOperation operation,
            IProcessConfigurationElement advisorConfiguration,
            IAdvisorInfoCollector collector, IProgressMonitor monitor)
            throws TeamRepositoryException {      

        Object data = operation.getOperationData();

        // what else here?

   }
}

我如何才能获得包含在交付中的变更集?或您遵循哪些 javadoc 或步骤来获取此信息?

4

3 回答 3

1

我只对 SCM API 做了一点点。这是顾问的示例。大部分是后续行动/参与者的共同点,所以这可能是一个很好的开始。https://rsjazz.wordpress.com/2012/11/01/restrict-delivery-of-changesets-to-workitem-types-advisordelivery-of-changesets-associated-to-wrong-work-item-types-advisor/

您想使用com.ibm.team.scm.service.internal.AbstractScmService而不是 AbstractService,因为它是 SCM API 的入口点。

于 2015-02-27T14:21:51.133 回答
1

我还没有所有链接的声誉......

这些帖子显示了一些您应该查看的 SCM API,以便解决您的问题:

https://rsjazz.wordpress.com/2013/10/15/extracting-an-archive-into-jazz-scm-using-the-plain-java-client-libraries/ http://thescmlounge.blogspot.de/ 2013/08/getting-your-stuff-using-rtc-sdk-to-zip.html

于 2015-02-27T14:24:53.797 回答
1

不幸的是,答案的顺序错误......

还有更多我发现对 RTC SCM API 有用的帖子:

https://rsjazz.wordpress.com/2014/09/02/reading-and-writing-files-directly-from-and-to-an-rtc-scm-stream/

此页面指向更多可能派上用场的 API 示例:https ://rsjazz.wordpress.com/interesting-links/

我使用 PluginSpy、YARI 以及简单的 Java 搜索(例如,我找到的类或方法的引用)在 RTC SDK 中找到了使用相对成功。有时只是猜测一个方法名称并用星号搜索会有很大帮助。

祝你的努力好运。

于 2015-02-27T14:29:53.220 回答