有人知道我们如何在办理登机手续时让Starteam发送电子邮件通知吗?我们正在使用Starteam 2006 R2。
答案 0 :(得分:1)
不幸的是,StarTeam不提供执行签入后操作的功能。您可以使用Cruise Control等应用程序监视存储库中的更改,然后在看到它们时采取措施。
答案 1 :(得分:0)
Starteam没有提交挂钩,但确实有Starteam MPX(borland.com)。从该链接,
StarTeamMPX是发布/订阅消息传递的框架。 StarTeamMPX Server使用先进的缓存和通信技术,既可以提高StarTeam客户端的性能,又可以扩展StarTeam Server的可扩展性。
好的,我们可以订阅活动。它看起来很有希望。
Starteam有一个Java API(borland.com),使用此API创建一个应用程序,并使用您自己的CheckinListener接口的电子邮件实现。然后,应用程序必须连接到Starteam,找到您感兴趣的任何视图并注册侦听器。然后等一下。
您的听众将收到CheckinEvent并可以查询这些内容。不幸的是,它似乎是逐个文件。 API中没有任何内容可以说“提交已完成”,只有“文件已完成”。您可以发现提交是否已取消。我不知道将文件签入事件组合回一个完整的签入事件是多么容易。
* StarteamMPX是Starteam的扩展(付费),可用于2006 R2。所有这些显然只有在启用时才适用。
我的经历: 我的公司没有启用该扩展,并且启用它需要升级,即更多的钱。所以它没有发生(我认为开始支付Starteam是痛苦的)。在这一点上,我放弃了我的研究,以上都没有实现过。我希望这对某人有用。
答案 2 :(得分:0)
我也在做这个话题的一些功课,所以将分享我学到的东西。
MicroFocus现在为此类事件提供了通知代理工具:
http://www.youtube.com/watch?v=QTKAT-ufkIs
这是你付出的额外费用。
我一直在思考如何通过上面Dan的帖子给出的建议“滚动你自己”。是的,MPX似乎确实是要走的路,虽然在研究了CheckinListener之后,这不是你想要的课程。为了澄清,CheckinListener由执行签入的客户端使用,以便它可以监视签入的进度(可能显示进度条,这类事情)。
以下是一些听取MPX事件的示例代码:
Server s = new Server(strAddress, nPort);
s.connect();
s.enableMPX(); // must do this for MPX support
s.logOn(strUsername, strPassword);
Project p = s.findProject("mylovelyproject");
View v = p.s.findView("mylovelyview");
ItemListener listener = new ItemListener()
{
public void itemAdded(ItemEvent e)
{
System.out.println("itemAdd() - " + e.getNewItem().getComment());
}
public void itemMoved(ItemEvent e)
{
System.out.println("itemMoved() - from: " + e.getOldItem().getParentFolderHierarchy() + ", to: " + e.getNewItem().getParentFolderHierarchy());
}
public void itemChanged(ItemEvent e)
{
System.out.println("itemChanged() - " + e.getNewItem().getComment());
System.out.println(" - from: v" + e.getOldItem().getDotNotation().toString());
System.out.println(" - to: v" + e.getNewItem().getDotNotation().toString());
User locker = e.getNewItem().getLocker();
if (locker != null)
System.out.println(" - locked by:" + locker.getDisplayName());
else
System.out.println(" - not locked");
}
public void itemRemoved(ItemEvent e)
{
System.out.println("itemRemoved() - " + e.toString());
}
};
v.addItemListener(listener, s.getTypes().FILE);
要关注的与MPX相关的项目是 new ItemListener()(如何处理您收听的事件)和 v.addItemListener()(其中你想听的starteam视图)。
当视图中的文件被添加/修改/移动/删除时,示例代码会向控制台吐出各种打印输出。
除了ItemListener之外,您还拥有ViewListener和ProjectListener。每个界面提供不同的事件范围来监听,在sdk文档中有关于此的更多信息,这里也是一篇不错的文章:
http://conferences.embarcadero.com/article/32231#MPXEventHandling
因此,如果您想要自己发送通知电子邮件,这些MPX事件会提供您的部分答案(一种倾听这些变更事件的方式)。
在此之后您需要考虑的其他方面是:
如何允许用户订阅各种服务器/项目/视图,以决定他们想听什么。
如何向用户发送电子邮件给他们想要的东西(StarTeam的Server类提供了一个.SendMail()方法,这可以在这里提供帮助。)
一旦覆盖了所有这些基础,你应该有一些可以解决问题的方法。我会在接下来的几天里自己做这样的事情,我会尽我所能分享。