【问题标题】:Add custom field to Jira search query using Atlassian.SDK使用 Atlassian.SDK 将自定义字段添加到 Jira 搜索查询
【发布时间】:2019-11-28 10:13:08
【问题描述】:

我在我的 Web 应用程序中使用 Atlassian.Jira NuGet 包。

我可以使用内置字段(例如 Project、ResolutionDate 等)成功查询 Jira,但我不能使用自定义字段。

我有一个名为“Organizations”的自定义字段,我想将其添加到我的查询中,它等于某个字符串。

这是我的查询:

var issues = from i in jira.Issues.Queryable
where i.Created >= dateFrom &&
i.Created <= dateTo && i.Type != "Change" && i["Organizations"] == organization
select i;

我尝试了以下方法:

i["Organizations"] == organization

返回 400。运算符 ~ 不支持。


i["Organizations"].ToString == organization

退货指数超出范围。必须是非负数且小于 集合的大小。

听起来没有什么可返回的,但我可以在门户中看到问题。


我也试过了:

i.CustomFields["Organizations"].Values[0] == organization
  1. 响应内容:{"errorMessages":["JQL 查询中的错误:期望字段名称但得到 ')'。您必须将 ')' 括在引号中 标记将其用作字段名称

虽然我不认为它应该这样使用。

感谢任何帮助!

【问题讨论】:

    标签: c# jira jql atlassian-plugin-sdk


    【解决方案1】:

    尝试使用 LiteralMatch 而不是 ==。 LiteralMatch 类似于 JQL 中的 ~ 运算符。

    where i.Created >= dateFrom &&
    i.Created <= dateTo && i.Type != "Change" && i["Organizations"] == new LiteralMatch(organization)
    select i;
    

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题。我通过这个查询来解决:

      List<Issue> list = (from i in (IQueryable<Issue>)jira.Issues.Queryable
                                          where i.Project == ProcessConfiguration.ParentProjectKey
                                          && (DateTime)i.Created >= (DateTime)jiraSelectInputDto[0].FromDate
                                          && (DateTime)i.Created <= (DateTime)jiraSelectInputDto[0].ToDate
                                          && i["Customer"] == new LiteralMatch(cusProvince.Province)
                                          orderby i.Key descending
                                          select i).ToList();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多