### SHORT: curl -s 'https://gerrit.onap.org/r/projects/?d' | awk '{if(NR>1)print}' | jq -c '.[] | {id, state}' | sed -r 's:%2F:/:g; s:["{}]::g; s:id\:::; s:,state\::|:; /All-Projects/d; /All-Users/d'
###
-script_version="1.0 (2020-11-16)"
+script_version="1.1 (2020-11-17)"
# save command for the restart with logging enabled
command=$0
today=$(date '+%Y-%m-%d');
repolist="gerrit-repos-master-"$today".txt";
+unique=$(date +%s)
echo "Retrieving a full list of ONAP repositories (master) from gerrit.onap.org."
# OPTIONAL: USE ALSO GITEXITCODE AS A FILTER CRITERIA ???
# url base
- url_start="https://docs.onap.org/projects/onap"
+ # important! only doc project needs a different url base
+ if [[ ${reponame} == "doc" ]]; then
+ url_start="https://docs.onap.org"
+ else
+ url_start="https://docs.onap.org/projects/onap"
+ fi
url_lang="en"
url_branch=${branch}
url_file="index.html"
# build the full url
- url="${url_start}-${url_repo}/${url_lang}/${url_branch}/${url_file}"
+ if [[ ${reponame} == "doc" ]]; then
+ # build the full url for the doc project
+ url="${url_start}/${url_lang}/${url_branch}/${url_file}"
+ else
+ # build the full url for the other projects
+ url="${url_start}-${url_repo}/${url_lang}/${url_branch}/${url_file}"
+ fi
#echo "DBUG: url=$url"
# test accessibility of url
- curl --head --silent --fail "${url}" >/dev/null
+ curl --head --silent --fail "${url}?${unique}" >/dev/null
curl_result=$?
# convert numeric results to text
#echo "DBUG: url=$url"
# test accessibility of url in "master branch" (latest)
- curl --head --silent --fail "${url}" >/dev/null
+ curl --head --silent --fail "${url}?${unique}" >/dev/null
curl_result=$?
# denote result as a value from "master" branch (latest)
url="(${url})"
# NOTE: works NOT with elalto release and below because of the submodule structure used for documentation
#
- url_start="https://docs.onap.org/projects/onap"
- url_lang="en"
+# url
+# important! only doc project needs a different url base
+url_lang="en"
url_branch=${branch}
unique=$(date +%s)
-# "master" docs are available as "latest" in read-the-docs
-if [ "${url_branch}" = "master" ]; then
+# "master" branch documentation is available as "latest" in RTD
+if [[ ${url_branch} == "master" ]]; then
url_branch="latest"
fi
for line in "${array[@]}"
do
+ reponame=$(echo ${line} | cut -d "[" -f2 | cut -d "]" -f1)
+ #echo "DBUG: reponame=${reponame}"
+
# example line: [dmaap/messagerouter/messageservice]/docs/release-notes/release-notes.rst
# example url: https://docs.onap.org/projects/onap-dmaap-messagerouter-messageservice/en/frankfurt/release-notes/release-notes.html
url_file=$(echo ${line} | sed -r 's/^.+\]//' | sed -r 's/^.*docs\///' | sed -r 's/\.rst$/\.html/' )
# build the full url
- url="${url_start}-${url_repo}/${url_lang}/${url_branch}/${url_file}"
+ if [[ ${reponame} == "doc" ]]; then
+ # build the full url for the doc project
+ url_start="https://docs.onap.org"
+ url="${url_start}/${url_lang}/${url_branch}/${url_file}"
+ else
+ # build the full url for the other projects
+ url_start="https://docs.onap.org/projects/onap"
+ url="${url_start}-${url_repo}/${url_lang}/${url_branch}/${url_file}"
+ fi
+ #echo "DBUG: url=$url"
# check with curl if html page is accessible (no content check!)
# to prevent (server side) cached results a unique element is added to the request
if [ "${curl_result}" = "0" ]; then
curl_result="accessible"
elif [ "${curl_result}" = "22" ]; then
- curl_result="NOT ACCESSIBLE"
+ curl_result="does not exist"
fi
#echo -e "DBUG: ${line}"