-
Notifications
You must be signed in to change notification settings - Fork 0
/
runit.sh
executable file
·61 lines (57 loc) · 1.49 KB
/
runit.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/bin/bash
RESPONSE_FILE=./response.json
GITHUB_TOKEN=
if [ ! -f $RESPONSE_FILE ]; then
cat <<REQUEST_BODY |curl -s https://api.github.com/graphql -H "Authorization: bearer $GITHUB_TOKEN" -X POST -d @- > $RESPONSE_FILE
{
"query": "query {
viewer {
login
starredRepositories(first: 30, orderBy: {field: STARRED_AT, direction: DESC}) {
edges {
node {
owner {
login
}
name
description
stargazers(first: 5) {
edges {
node {
starredRepositories(first: 30, orderBy: {field: STARRED_AT, direction: DESC}) {
edges {
node {
owner {
login
}
name
description
}
}
}
}
}
}
}
}
}
}
}"
}
REQUEST_BODY
fi
read -r -d '' JQ_FILTER_STR <<-'JQ_FILTERS' || true
"NAME\tDESCRIPTION",
"-------\t-------------",
(
.data.viewer.starredRepositories.edges
| .[].node.stargazers.edges
| .[].node.starredRepositories.edges
| .[].node
| .name + "\t" + .description
)
JQ_FILTERS
cat $RESPONSE_FILE \
|jq -r "$JQ_FILTER_STR" \
|column -t -s $'\t' \
| awk 'NR<3{print $0;next}{print $0| "sort"}' |uniq