pkgctl search command
We'd like to be able to search our packaging repos easily from CLI, since pkgctl is bash this is kinda hard as we need to do pagination
-
Figure out how to efficiently resolve the project_id, only seems to be possible to do with this api and then selecting id_before
/id_after
based on the returned results otherwise we'll have to do an O(n) lookup -
Figure out the default output format -
Figure out how to do pagination, Gitlab does not return the pagination via json but you have to specify per_page=X
and then look at the returned headers:x-total-pages: 17
andx-next-page: 2
andx-page: 1
. This can be done withcurl --dump-headers /tmp/headers
and then parsing this in bash.... and figuring out how to merge the output arrays for--raw
possibly like:
[jelle@natrium][~/projects/devtools]%cat example.json
───────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ File: example.json
───────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ [{
2 │ "error": 1,
3 │ "message": 1
4 │ }]
───────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[jelle@natrium][~/projects/devtools]%cat example2.json
───────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ File: example2.json
───────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ [{
2 │ "error": 4,
3 │ "message": 5
4 │ }]
───────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[jelle@natrium][~/projects/devtools]%cat example.json example2.json| jq -s 'add'
[
{
"error": 1,
"message": 1
},
{
"error": 4,
"message": 5
}
]
Open To DO's
-
-r (--raw mode) don't emit anything else over stderr which breaks jq
-
Querying projects in group archlinux/packaging/packages... is super slow
Edited by Levente Polyak