Skip to content

Instantly share code, notes, and snippets.

@mildred
Created April 11, 2016 07:59
Show Gist options
  • Save mildred/9e7ab10f702d853b20c81ee955f104bf to your computer and use it in GitHub Desktop.
Save mildred/9e7ab10f702d853b20c81ee955f104bf to your computer and use it in GitHub Desktop.
tuleap import script

Run import.sh to import project into tuleap running in docker. For it to work, you must:

cd path/to/tuleap/source/repository/
mkdir -p test_import
vim test_import/import.sh

Usage:

import.sh optvar=value

Possible options:

  • n=NAME: name of the project. A random string by default.
  • p=PROJECT: name of a project to import

Projects to import must be placed in test_import/PROJECT. A project must contain:

  • A project.xml file
  • A users.xml file

See tuleap documentation for that.

This script will import users, fix mapping file, check it, and import the project.

#!/bin/bash
for arg in "$@"; do
echo "$arg" >&2
eval "$arg"
done
log(){
set -x
"$@"
}
: ${DOCKER:="sudo docker"}
: ${CONTAINER:="tuleap_web_1"}
: ${n:="random$RANDOM"}
: ${project:="$p"}
: ${name:="$n"}
log $DOCKER exec -ti $CONTAINER /usr/share/tuleap/src/utils/php-launcher.sh \
/usr/share/tuleap/src/utils/generate_user_mapping_for_project_import.php \
-u admin \
-i "/usr/share/tuleap/test_import/$project" \
-o "/usr/share/tuleap/test_import/$project/users.csv"
log sed -i -r -e 's/^([^,]*,create:).+,/\1A,/' -e 's/^([^,]*),map:,/\1,map:\1,/' "$project/users.csv"
log $DOCKER exec -ti $CONTAINER /usr/share/tuleap/src/utils/php-launcher.sh \
/usr/share/tuleap/src/utils/check_user_mapping_for_project_import.php \
-u admin \
-i "/usr/share/tuleap/test_import/$project" \
-m "/usr/share/tuleap/test_import/$project/users.csv"
$DOCKER exec -ti $CONTAINER /usr/share/tuleap/src/utils/php-launcher.sh \
/usr/share/tuleap/src/utils/import_project_xml.php \
-u admin \
-i "/usr/share/tuleap/test_import/$project" \
-m "/usr/share/tuleap/test_import/$project/users.csv" \
-n "$name"
@Jesse-Millwood
Copy link

are the projects supposed to be zips still? or extracted directories?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment