Pour tout problème contactez-nous par mail : support@froggit.fr | La FAQ :grey_question: | Rejoignez-nous sur le Chat :speech_balloon:

Skip to content
Snippets Groups Projects
Commit 43f5de48 authored by Christophe Chaudier's avatar Christophe Chaudier :rocket:
Browse files

feat: add export of one project

parent 287620c4
No related branches found
No related tags found
1 merge request!7Resolve "export one group"
......@@ -114,6 +114,8 @@ _get_project_info() {
_api GET "projects/${project_url_encoded}" | jq
}
# ---[ Export Project ]---
_schedule_project_export() {
_api POST "projects/${project_url_encoded}/export" | jq | grep --silent "202 Accepted" \
|| _fail "Can't schedule export for project [${project}]"
......@@ -137,12 +139,54 @@ _download_project_export() {
ls -l "${export_filename}"
}
_export_project() {
if [[ -n ${project} ]]; then
_schedule_project_export
_wait_export_finished
_download_project_export
fi
}
# ---[ Export Group ]---
_schedule_group_export() {
_api POST "groups/${group_url_encoded}/export" | jq | grep --silent "202 Accepted" \
|| _fail "Can't schedule export for group [${group}]"
}
_group_export_status() {
_api GET "groups/${group_url_encoded}/export/download" | jq -r '.message' | grep 404 \
|| echo finished
}
_wait_group_finished() {
while [[ "$(_group_export_status)" != "finished" ]]; do
echo "Waiting end of export ..."
sleep ${WAITING_TIME}
done
}
_download_group_export() {
export_filename="${group/\//-}_$(date +"%Y%m%d_%H%M")_export.tar.gz"
_api GET "group/${group_url_encoded}/export/download" "-o ${export_filename}"
echo "The group was exported :"
ls -l "${export_filename}"
}
_export_group() {
if [[ -n ${group} ]]; then
_schedule_group_export
_wait_group_finished
_download_group_export
fi
}
_export() {
_load_config
_schedule_project_export
_wait_export_finished
_download_project_export
_export_project
_export_group
_succed "Export done"
}
......@@ -163,13 +207,14 @@ main() {
case "${flag}" in
c) config_file=${OPTARG} ;;
p) project=${OPTARG} ;;
g) groups=${OPTARG} ;;
g) group=${OPTARG} ;;
a) export_all=true ;;
h | *) _help ;;
esac
done
project_url_encoded="${project/\//%2F}"
group_url_encoded="${group/\//%2F}"
case "${action}" in
init) _create_config ;;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment