私は次のコードを持っている:私はちょうどで検索する場合は、しかし、TFS APIで複数のユーザーパターンでフィルタリングするにはどうすればよいですか?
Microsoft.TeamFoundation.Framework.Client.IdentityExpressionException: TF400819: Query Expression is not well-formed
---> System.Web.Services.Protocols.SoapException: TF400819: Query Expression is not well-formed
--- End of inner exception stack trace ---
at Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.HandleReply(TfsClientOperation operation, TfsMessage message, Object[]& outputs)
at Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.Invoke(TfsClientOperation operation, Object[] parameters, TimeSpan timeout, Object[]& outputs)
at Microsoft.TeamFoundation.Framework.Client.IdentityManagementWebService2.ReadFilteredIdentities(String expression, Int32 suggestedPageSize, String lastSearchResult, Boolean lo
okForward, Int32 queryMembership, Int32 features)
at Microsoft.TeamFoundation.Framework.Client.IdentityManagementService2.ReadFilteredIdentities(String expression, Int32 suggestedPageSize, String lastSearchResult, Boolean lookF
orward, Int32 queryMembership)
at TFSTool.Program.GetUsers(IEnumerable`1 args) in C:\dayforce\SharpTop\Build\ConfigurationManagement\utilities\tfstool\Program.cs:line 1621
at TFSTool.Program.Main(String[] args) in C:\dayforce\SharpTop\Build\ConfigurationManagement\utilities\tfstool\Program.cs:line 519
:クエリは
Microsoft.TeamFoundation.Identity.Type == 'User' AND (Microsoft.TeamFoundation.Identity.DisplayName CONTAINS 'alice' OR Microsoft.TeamFoundation.Identity.DisplayName CONTAINS 'bob')
のようなものであるとき、コードは次の例外をスローし、今
var tfs = new TfsTeamProjectCollection(new Uri(TFS_SERVER_URL));
tfs.EnsureAuthenticated();
var query = GetQuery(...)
var identities = ims.ReadFilteredIdentities(query, 5000, null, true, (int)MembershipQuery.None);
foreach (var item in identities.Items)
{
Console.WriteLine("{0,-20} {1,-20} {2}", item.DisplayName, item.UniqueName, item.GetAttribute("Mail", null));
}
を1つのユーザパターン、例えば、
Microsoft.TeamFoundation.Identity.Type == 'User' AND Microsoft.TeamFoundation.Identity.DisplayName CONTAINS 'mark'
うまく動作します。
私の質問 - TFS Apiで複数のユーザーパターンを検索することは可能ですか、それとも個別にパターンごとにクエリを繰り返す必要がありますか?
どこでMicrosoft.TeamFoundation.Identity.TypeとMicrosoft.TeamFoundation.Identity.DisplayNameを取得しましたか?コード全体を共有できますか? TFSのクエリ作業項目の場合、複数のユーザーパターンがサポートされています。https://msdn.microsoft.com/en-us/library/bb130306(v=vs.120).aspx –
どういう意味ですか?私は正確なコードを与えた。クエリは正確に** Microsoft.TeamFoundation.Identity.Type == 'ユーザー'とMicrosoft.TeamFoundation.Identity.DisplayNameは 'マーク' **を含みます。あなたが与えたリンクはユーザーを取得しないので、良い例ではありません。 – mark