When querying for repositories, you can apply a filter only for a certain number of the fields in your list:
- number of stars
- number of forks
- size
- last update
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:
- total number of issues
- number of open issues
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