如何列出项目的可用标签?

时间:2016-07-06 10:09:57

标签: c# winforms sourcegear-vault

这是我第一次使用Vault Client API功能开发.NET winforms应用程序。 我想使用Vault Client API获取每个项目的标签列表。

我在VaultClientIntegrationLib.dll中找到了ServerOperations.ProcessCommandFindLabels()方法,但我没有任何线索如何获得成功的结果。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

经过多次尝试后,我可以通过运行以下代码获取项目的所有标签。

我在Visual Studio Project的References下添加了两个dll(VaultLib.dll和VaultClientIntegrationLib.dll)并添加了2个using语句(在类中)

using VaultLib;
using VaultClientIntegrationLib;

我在静态方法中添加了以下代码

ServerOperations.client.LoginOptions.URL = url;
ServerOperations.client.LoginOptions.User = user;
ServerOperations.client.LoginOptions.Password = pass;
ServerOperations.client.LoginOptions.Repository = rep;
ServerOperations.Login();
ServerOperations.client.AutoCommit = true;

string prjPath = "$/projectpath";
VaultLabelItemX[] arLabelItems = null;

int nRetCode = ServerOperations.ProcessCommandFindLabels("*", prjPath, false, 1000, true, true, VaultFindInFilesDefine.PatternMatch.Wildcard, out arLabelItems);

MessageBox.Show(arLabelItems.Count().ToString()); // Print how much labels found

foreach (var item in arLabelItems)
{
   MessageBox.Show(arLabelItems[i].Label.ToString()); // Show Label 
}