我有一个GraphQL查询.我不明白为什么它不起作用.
{
repositoryOwner(login: "Naramsim") {
login
repositories(first: 3, isFork: true, orderBy: {field: CREATED_AT}) {
edges {
node {
description
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我能够获得提交列表(包括提交消息,oid,提交URL等字段)以及changedFiles在master分支上的存储库中创建的数量.
但是,我无法弄清楚如何获取有关更改本身和更改的文件的任何信息.
在REST API的第3版中,有关更改的信息包含在files- > patch和files- >中,raw_url或者blob_url在该阶段提供了有关原始文件本身的信息.
Q)在使用GraphQL的GitHub API的第4版中,我如何获得相应的信息?
查询我现在卡住了(为简洁起见只显示1次提交) -
query {
rateLimit{
cost
remaining
}
repository(owner: "elastic", name: "elasticsearch") {
name
defaultBranchRef {
name
target {
... on Commit {
history(first:1){
nodes{
message
changedFiles
id
oid
treeUrl
url
tree{
oid
}
}
pageInfo{
hasNextPage
startCursor
endCursor
}
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
{
"data": …Run Code Online (Sandbox Code Playgroud) 我正在尝试获取登录名“somelogin”的用户存储库。
它返回所有存储库,但我试图获取仅由他拥有的存储库。因为新 API 使用 GraphQL,所以我做不到。
目前我正在使用:
{
"query": "query { user(login:\"furknyavuz\") {repositories(first: 50) { nodes { name url }}}}"
}
Run Code Online (Sandbox Code Playgroud) 根据我有限的搜索,GraphQL 似乎只能支持等值过滤。所以,
是否可以使用以下过滤条件进行Github GraphQL搜索:
即对以上所有条件进行过滤。是否可以?
我开始使用带有反应继电器的graphQl.我遵循了一些教程,我可以在突变和查询的帮助下获取和发布.一切正常,但我的问题是,
例如:如果我从数据库中获取数据,我可以进入特定的DB/TABLE.同样,我想知道graphql存储数据的位置.
我搜索了许多网站,他们正在告诉如何使用qraphql,但我无法找到我的问题的答案.我需要澄清这方面的问题.有人可以帮我解决这个问题.
我正在使用Github API v4来运行搜索查询。
从API文档中,我可以理解以下查询为我提供了pageInfo,但我不知道如何使用它来遍历。
query {
search(first: 100, type:USER, query:"location:usa repos:>0 language:java") {
pageInfo {
startCursor
hasNextPage
endCursor
}
userCount
nodes {
... on User {
bio
company
email
id
isBountyHunter
isCampusExpert
isDeveloperProgramMember
isEmployee
isHireable
isSiteAdmin
isViewer
location
login
name
url
websiteUrl
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
响应是:
{
"data": {
"search": {
"pageInfo": {
"startCursor": "Y3Vyc29yOjE=",
"hasNextPage": true,
"endCursor": "Y3Vyc29yOjEwMA=="
},
...
}
Run Code Online (Sandbox Code Playgroud) 我已经厌倦了使用 github grpahQL API 中的 endCursor 和 hasNextPage 进行分页来获取超过 100 个数据。我使用的查询是:
query {
organization(login:"XXX") {
repository(name:"XX") {
pullRequests(first:100, states:[OPEN], after: "XXX" ) {
pageInfo{
hasNextPage
endCursor
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是工作。但为了访问更多详细信息,需要进行迭代分页。谁能提供一种有效的替代方案来在 GraphQL API 中以编程方式遍历所有页面?
以下是对 GitHub api v4 的 cURL 查询示例,该查询不断返回错误:
curl -H "Authorization: bearer token" -X POST -d " \
{ \
\"query\": \"query { repositoryOwner(login: \"brianzelip\") { id } }\" \
} \
" https:\/\/api.github.com\/graphql
Run Code Online (Sandbox Code Playgroud)
返回的错误:
{
"message": "Problems parsing JSON",
"documentation_url": "https://developer.github.com/v3"
}
Run Code Online (Sandbox Code Playgroud)
为什么我一直收到这个错误?
根据关于形成查询调用的GH api v4 文档,上述 cURL 命令是有效的。以下是文档所说的支持我关于上述 cURL 命令有效的说法:
{
"message": "Problems parsing JSON",
"documentation_url": "https://developer.github.com/v3"
}
Run Code Online (Sandbox Code Playgroud)
注意:“query”的字符串值必须转义换行符,否则架构将无法正确解析它。对于 POST 正文,使用外部双引号和转义的内部双引号。
当我在GitHub GraphQL API Explorer 中输入上述查询时,我得到了预期的结果。对于 GH GraphQL Explorer,上述 cURL 命令的格式如下所示:
{
repositoryOwner(login: …Run Code Online (Sandbox Code Playgroud) 我想找到一种方法来在一次提交上获取单个文件的 git diff 。现在我可以使用这个 GitHub RESTful API 来搜索所有文件 diff 的提交。
GET /repos/:owner/:repo/commits/:sha
Run Code Online (Sandbox Code Playgroud)
但现在我想从提交中获取单个文件差异。我搜索后发现我们无法使用 GitHub API v3 获取单个文件差异。所以我想知道有什么方法可以使用 graphql API 来解决这个问题吗?谢谢!!
我正在尝试创建一个对 Github GraphQL API 的查询,该查询接收存储库列表作为参数,并在单个 API 调用中返回这些存储库的信息,有人知道如何做到这一点吗?
像这样的东西(我知道这行不通)
query myOrgRepos($repos: [String!]!) {
search(query:"""
repo in $repos
""", type: REPOSITORY, first: 100) {
repo: nodes {
... on Repository{
name
description
updatedAt
}
}
}
Run Code Online (Sandbox Code Playgroud) github-graphql ×10
graphql ×9
github-api ×6
github ×5
rest ×2
curl ×1
relay ×1
relaymodern ×1
search ×1