diff --git a/openbis_all/source/bash/fetch-ci-artifacts.sh b/openbis_all/source/bash/fetch-ci-artifacts.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e23d44240950839556a457c1938ed977dc1587fc
--- /dev/null
+++ b/openbis_all/source/bash/fetch-ci-artifacts.sh
@@ -0,0 +1,76 @@
+#! /bin/bash
+# 
+# Fetches artifacts from continuous integration server for a specified project. Works only for Hudson.
+# 
+# Usage: fetch-ci-artifacts.sh  [-d <output folder>] [-p <regular expression for filtering artifact names>] <project>
+#
+# If <output folder> is specified the files are stored there. If it does not exist it will be created.
+# By default the current directory will contain the artifacts.
+# 
+# If the p option is specified only artifact file names matching the regular expression will 
+# be loaded from Hudson. 
+#
+CI_HOST=cisd-ci.ethz.ch:8090
+
+if [ $# -lt 1 ]; then
+    echo "Usage: fetch-ci-artifacts.sh [-d <output folder>] \
+                 [-p <regular expression for filtering artifact names>] <project>"
+    exit 1
+fi
+
+##################################################
+#
+# Gather parameters
+#
+PROJECT=${@: -1}
+OUTPUT_FOLDER=.
+PATTERN=".*"
+while [ $# -ge 2 ]; do
+    if [ $1 == "-d" ]; then
+        shift
+        if [ $# -lt 2 ]; then
+            echo "Missing output folder for option -d."
+            exit 1
+        fi
+        OUTPUT_FOLDER="$1"
+        shift
+    elif [ $1 == "-p" ]; then
+        shift
+        if [ $# -lt 2 ]; then
+            echo "Missing pattern for option -p."
+            exit 1
+        fi
+        PATTERN="$1"
+        shift
+    fi
+done
+
+PROJECT_BASE_URL=http://$CI_HOST/job/$PROJECT
+
+##################################################
+#
+# Load list of available artifacts on Hudson 
+#
+XML=`curl -s "$PROJECT_BASE_URL/lastSuccessfulBuild/api/xml?xpath=//fileName&wrapper=bag"`
+if [ ${XML:0:4} != "<bag" ]; then
+    echo "Couldn't get artifact information for project $PROJECT. Probably the project doesn't exist."
+    exit 1
+fi
+if [ $XML == "<bag/>" ]; then
+    echo "No artifacts for project $PROJECT"
+    exit
+fi
+XML=${XML#<bag>}
+XML=${XML%*</bag>}
+
+##################################################
+#
+# Download artifacts
+#
+mkdir -p "$OUTPUT_FOLDER"
+for f in `echo ${XML}|awk '{gsub(/<\/fileName>/,"\n")}; 1'|awk '{gsub(/<fileName>/,"")}; 1'|\
+                      egrep "$PATTERN"|sort`; do
+    download_url=$PROJECT_BASE_URL/lastSuccessfulBuild/artifact/_main/targets/dist/$f
+    echo "download $download_url"
+    wget -q -O "$OUTPUT_FOLDER/$f" $download_url
+done