Based on my limited searching, it seems GraphQL can only support equal filtering. So,
Is it possible to do Github GraphQL searching with the filtering conditions of,
I.e., filtering will all above conditions. Is it possible?
When querying for repositories, you can apply a filter only for a certain number of the fields in your list:
Although you cannot specify them in the query filter, you can include other fields in your query and verify the values in the client application:
While, in theory, you can also query for the number of commits, applying your specific parameter arguments, that query returns a server error, it most probably times out. For that reason, those lines are commented out.
Here's the GraphQL query:
query {
search(
type:REPOSITORY,
query: """
stars:>10
forks:>3
size:>2000
pushed:>=2018-08-08
""",
last: 100
) {
repos: edges {
repo: node {
... on Repository {
url
allIssues: issues {
totalCount
}
openIssues: issues(states:OPEN) {
totalCount
}
# commitsCount: object(expression: "master") {
# ... on Commit {
# history {
# totalCount
# }
# }
# }
}
}
}
}
}
The specification for repository queries can be found here: https://help.github.com/en/articles/searching-for-repositories#search-by-repository-size
This is not an answer but an update of what I've collected so far.
According to "Select * for Github GraphQL Search", not all above criteria might be available in the Repository edge. Namely, the "total commit", "open issues" and "score" might not be available.
The purpose of the question is obviously to find the valuable repositories and weed off the lower-quality ones. I've collected all the available fields that might be helpful for such assessment here.
A copy of it as of 2018-03-18:
query SearchMostTop10Star($queryString: String!, $number_of_repos:Int!) {
search(query: $queryString, type: REPOSITORY, first: $number_of_repos) {
repositoryCount
edges {
node {
... on Repository {
name
url
description
# shortDescriptionHTML
repositoryTopics(first: 12) {nodes {topic {name}}}
primaryLanguage {name}
languages(first: 3) { nodes {name} }
releases {totalCount}
forkCount
pullRequests {totalCount}
stargazers {totalCount}
issues {totalCount}
createdAt
pushedAt
updatedAt
}
}
}
}
}
variables {
"queryString": "language:JavaScript stars:>10000",
"number_of_repos": 3
}
Anyone can try it out as per here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With