# vim: set filetype=nginx nofoldenable: # Configuration for the GROS prediction site. # Handle prediction data from Jenkins. location ~ ^/prediction/(api/v1(-(?P[-_0-9a-zA-Z]+))?)/ { if ($branch = "") { set $branch "master"; } if ($branch = "") { set $branch "master"; } rewrite ^/prediction/api/v1(-[-_0-9a-zA-Z]+)?/predict/jira/(?P[^/]+)/sprint/(?P\d+|latest)$ /job/create-prediction/job/$branch/lastStableBuild/artifact/output/$organization/$project/$sprint.json break; rewrite ^/prediction/api/v1(-[-_0-9a-zA-Z]+)?/predict/jira/(?P[^/]+)/sprints$ /job/create-prediction/job/$branch/lastStableBuild/artifact/output/$organization/$project/sprints.json break; rewrite ^/prediction/api/v1(-[-_0-9a-zA-Z]+)?/list/jira$ /job/create-prediction/job/$branch/lastStableBuild/artifact/output/$organization/projects.json break; rewrite ^/prediction/api/v1(-[-_0-9a-zA-Z]+)?/list/meta$ /job/create-prediction/job/$branch/lastStableBuild/artifact/output/$organization/projects_meta.json break; rewrite ^/prediction/api/v1(-[-_0-9a-zA-Z]+)?/configuration$ /job/create-prediction/job/$branch/lastStableBuild/artifact/output/$organization/configuration.json break; rewrite ^/prediction/api/v1(-[-_0-9a-zA-Z]+)?/dataset$ /job/create-prediction/job/$branch/lastStableBuild/artifact/output/sprint_features.arff break; rewrite ^/prediction/api/v1(-[-_0-9a-zA-Z]+)?/locale/(?Pdescriptions|tags|units|short_units|sources|metadata)$ /job/create-prediction/job/$branch/lastStableBuild/artifact/output/$organization/$locale.json break; rewrite ^/prediction/api/v1(-[-_0-9a-zA-Z]+)?/links/(?P[^/]+)$ /job/create-prediction/job/$branch/lastStableBuild/artifact/output/$organization/$project/sources.json break; rewrite ^/prediction/api/v1(-[-_0-9a-zA-Z]+)?/links/(?P[^/]+)/sprint/latest$ /job/create-prediction/job/$branch/lastStableBuild/artifact/output/$organization/$project/links.json break; rewrite ^/prediction/api/v1(-[-_0-9a-zA-Z]+)?/links/(?P[^/]+)/sprint/(?P\d+)$ /job/create-prediction/job/$branch/lastStableBuild/artifact/output/$organization/$project/links.$sprint.json break; proxy_pass http://$jenkins:8080; add_header Access-Control-Allow-Origin *; } # ZIP download only available from Jenkins directly for now. location ~ ^/prediction/(show|branch/(?P[-_0-9a-zA-Z]+))/zip { if ($branch = "") { set $branch "master"; } rewrite ^/prediction/(show|branch/[-_0-9a-zA-Z]+)/zip$ /job/create-prediction/job/$branch/lastStableBuild/artifact/output/$organization/*zip*/archive.zip break; } location ~ ^/prediction/(show|branch/[-_0-9a-zA-Z]+)/ { if ($branch = "") { set $branch "master"; } if ($branch = "") { set $branch "master"; } rewrite ^/prediction/(?Pshow|branch/[-_0-9a-zA-Z]+)/(?P[^/]+)/$ /prediction/$path/$project permanent; rewrite ^/prediction/(show|branch/[-_0-9a-zA-Z]+)/(?P[^/]+) /job/build-prediction-site/job/$branch/Visualization/index.html?organization=$organization&project=$project break; rewrite ^/prediction/(show|branch/[-_0-9a-zA-Z]+)/(?P[^/]+)/sprint/(?P\d+|latest) /job/build-prediction-site/job/$branch/Visualization/index.html?organization=$organization&project=$project&sprint=$sprint break; rewrite ^/prediction/(show|branch/[-_0-9a-zA-Z]+)(/[^/]+/sprint)?/(?P.+) /job/build-prediction-site/job/$branch/Visualization/$path break; rewrite ^/prediction/(show|branch/[-_0-9a-zA-Z]+)/$ /job/build-prediction-site/job/$branch/Visualization/index.html break; proxy_pass http://$jenkins:8080$uri; } location ~ ^/prediction/branches { rewrite ^/prediction/branches /job/create-prediction/api/json?tree=jobs[name,lastStableBuild[description,duration,timestamp]] break; add_header Access-Control-Allow-Origin *; proxy_pass http://$jenkins:8080; } autoindex off; rewrite ^/prediction/(index\.html|show|papers/?)?$ /prediction/show/ permanent; rewrite ^/prediction/zip$ /prediction/show/zip permanent; proxy_intercept_errors on; error_page 401 /prediction/401.html; error_page 403 /prediction/403.html; error_page 404 /prediction/404.html; error_page 500 502 503 504 /prediction/50x.html; location ~ ^/prediction/ { if ($branch = "") { set $branch "master"; } rewrite ^/prediction/(?P.+\.css|.+\.js.*) /job/build-prediction-site/job/$branch/Visualization/$file break; rewrite ^/prediction/(?P.+) /job/build-visualization-site/job/$branch/Visualization/$file break; proxy_pass http://$jenkins:8080; }