使用 graphql 查询 github 项目卡片

Posted

技术标签:

【中文标题】使用 graphql 查询 github 项目卡片【英文标题】:Querying github project cards with graphql 【发布时间】:2018-07-20 19:16:42 【问题描述】:

我在 Github 中有一个包含一些列的项目,我正在尝试查找处于关闭状态的卡片(问题)。

使用 GraphQL,我无法构建可以过滤卡片的查询。目前我有这个查询:

query 
  organization(login:"org") 
    project(number:3) 
      columns(first:1)
        nodes
          id,
          name,
          cards(first:1)
            nodes
              content 
                ... on Issue 
                  url,
                  state
                
              
            
          
        
      
    
  

这会返回结果:


  "data": 
    "organization": 
      "project": 
        "columns": 
          "nodes": [
            
              "id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
              "name": "On Deck",
              "cards": 
                "nodes": [
                  
                    "content": 
                      "url": "https://github.com/org/repo/issues/606",
                      "state": "OPEN"
                    
                  
                ]
              
            
          ]
        
      
    
  

到目前为止,我收集到的是“项目卡”是 GraphQL 中的“联合”对象,我不知道如何向这些联合添加过滤器。

有什么建议吗?

谢谢!

【问题讨论】:

我想做同样的事情并玩了但找不到任何东西。看起来你应该能够做这样的过滤器...... 【参考方案1】:

我问了the same question on the GitHub Community forum。一位管理员回信:

GraphQL API 当前的构建方式,不,您不能仅使用查询语言根据项目卡所代表的问题状态过滤项目卡。您必须查询列中的所有卡片,然后自行过滤。

【讨论】:

这不是打败 GraphQL 的主要优势之一吗?能够在服务器端进行大部分处理?

以上是关于使用 graphql 查询 github 项目卡片的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 HttpUrlConnect 使用 java 查询 Github graphql API

无法从 Github 的 GraphQL 渲染嵌套道具

如何使用 GatsbyJS 和 GraphQL 查询和显示包含多个图像的文件夹

GraphQL - vue-apollo 包,前端不输出查询

使用 GitHub GraphQL API v4 查询单个存储库中的所有提交

GitHub GraphQL 查询 - 按用户统计给定月份的 PR 评论