Skip to content

Commit 3ab6fe3

Browse files
authored
Merge branch 'master' into jenkins_2025_maintenance
2 parents faf76f8 + bbbb9e4 commit 3ab6fe3

9 files changed

Lines changed: 36 additions & 255 deletions

File tree

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,22 @@
66

77
### Changed
88
- Jenkins master and agent maintenance. Add Rhel9 variant and make it default ([#1361](https://github.com/opendevstack/ods-core/pull/1361))
9+
10+
### Fixed
11+
12+
## [4.12.1] - 2026-03-03
13+
### Fixed
14+
- Fix api service dockerfile ([#1372](https://github.com/opendevstack/ods-core/pull/1372))
15+
16+
## [4.12.0] - 2026-03-02
17+
### Changed
918
- Improved automatic tests for the quickstarters ([#1362](https://github.com/opendevstack/ods-core/pull/1362))
1019
- Update keystore path in import_certs.sh script ([#1365](https://github.com/opendevstack/ods-core/pull/1365))
1120
- Added allure plugin and command line installation to jenkins master image ([#1364](https://github.com/opendevstack/ods-core/pull/1364))
21+
- Remove unnecessary configurations from ods-api-service ([#1366](https://github.com/opendevstack/ods-core/pull/1366))
1222

1323
### Fixed
24+
- Fix e2e jenkins artifacts fetch ([#1369](https://github.com/opendevstack/ods-core/pull/1369))
1425

1526
## [4.11.1] - 2025-12-05
1627

configuration-sample/ods-core.ods-api-service.env.sample

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
# OpenDevStack Api Service Version
66
# See https://github.com/opendevstack/ods-api-service/releases
7-
ODS_API_SERVICE_VERSION=0.0.1
7+
ODS_API_SERVICE_VERSION=v0.0.2
88

99
# JVM configuration
1010
JAVA_OPTS=-Xmx1g -Djavax.net.ssl.trustStore=/home/default/custom-truststore.jks -Djavax.net.ssl.trustStorePassword=changeit
@@ -40,36 +40,6 @@ UIPATH_QUEUE_ITEMS_ENDPOINT=/odata/QueueItems
4040

4141
# Projects Info Service
4242
PROJECTS_INFO_SERVICE_BASE_URL=https://projects-info-service.example.com
43-
AZURE_ACCESS_TOKEN=example-azure-token
44-
AZURE_DATAHUB_GROUP_ID=example-datahub-group
45-
TESTING_HUB_API_URL=https://testinghub-api.example.com/v1/projects
46-
TESTING_HUB_API_TOKEN=example-testing-hub-token
47-
TESTING_HUB_DEFAULT_PROJECTS=PROJECT1:1, PROJECT2:2
48-
49-
# OpenShift Cluster Tokens
50-
OPENSHIFT_USTEST_API_URL=https://api.us-test.example.com:6443
51-
OPENSHIFT_USTEST_TOKEN=example-ustest-token-change-me
52-
53-
OPENSHIFT_EUDEV_API_URL=https://api.eu-dev.example.com:6443
54-
OPENSHIFT_EUDEV_TOKEN=example-eudev-token-change-me
55-
56-
OPENSHIFT_USDEV_API_URL=https://api.us-dev.example.com:6443
57-
OPENSHIFT_USDEV_TOKEN=example-usdev-token-change-me
58-
59-
OPENSHIFT_CNDEV_API_URL=https://api.cn-dev.example.com:6443
60-
OPENSHIFT_CNDEV_TOKEN=example-cndev-token-change-me
61-
62-
OPENSHIFT_INHDEV_API_URL=https://api.inh-dev.example.com:6443
63-
OPENSHIFT_INHDEV_TOKEN=example-inhdev-token-change-me
64-
65-
# Bitbucket Platforms Configuration
66-
BITBUCKET_PLATFORMS_BASE_PATH=https://bitbucket.example.com/projects/PLATFORMS/repos/sections-links/raw/
67-
BITBUCKET_PLATFORMS_USTEST=us-test-sections.yml?at=main
68-
BITBUCKET_PLATFORMS_EUDEV=eu-sections.yml?at=main
69-
BITBUCKET_PLATFORMS_USDEV=us-sections.yml?at=main
70-
BITBUCKET_PLATFORMS_CNDEV=cn-sections.yml?at=main
71-
BITBUCKET_PLATFORMS_INHDEV=inh-sections.yml?at=main
72-
BITBUCKET_PLATFORMS_BEARER_TOKEN=example-bitbucket-bearer-token
7343

7444
# Project Users JWT Secret
7545
PROJECT_USERS_JWT_SECRET=example-jwt-secret-key-256bit-change-in-production

ods-api-service/chart/templates/core/deployment.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,6 @@ spec:
7474
{{- if .Values.externalServices.projectsInfoService.enabled }}
7575
- configMapRef:
7676
name: {{ include "chart.fullname" . }}-projects-info-service-config
77-
- secretRef:
78-
name: {{ include "chart.fullname" . }}-projects-info-service-credentials
7977
{{- end }}
8078
{{- if gt (len .Values.externalServices.openshift.instances) 0 }}
8179
- configMapRef:

ods-api-service/chart/templates/external-service-projects-info-service/external-service-projects-info-service-configmap.yaml

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,34 +8,4 @@ metadata:
88
app.kubernetes.io/component: projects-info-service-config
99
data:
1010
PROJECTS_INFO_SERVICE_BASE_URL: {{ .Values.externalServices.projectsInfoService.baseUrl | quote }}
11-
PROJECTS_INFO_SERVICE_SSL_VERIFY: {{ .Values.externalServices.projectsInfoService.ssl.verifyCertificates | quote }}
12-
{{- if .Values.externalServices.projectsInfoService.ssl.trustStorePath }}
13-
PROJECTS_INFO_SERVICE_SSL_TRUSTSTORE_PATH: {{ .Values.externalServices.projectsInfoService.ssl.trustStorePath | quote }}
14-
{{- end }}
15-
{{- if .Values.externalServices.projectsInfoService.ssl.trustStoreType }}
16-
PROJECTS_INFO_SERVICE_SSL_TRUSTSTORE_TYPE: {{ .Values.externalServices.projectsInfoService.ssl.trustStoreType | quote }}
17-
{{- end }}
18-
PROJECTS_INFO_SERVICE_AZURE_DATA_HUB_GROUP_ID: {{ .Values.externalServices.projectsInfoService.azure.datahub.groupId | quote }}
19-
PROJECTS_INFO_SERVICE_AZURE_GROUPS_PAGE_SIZE: {{ .Values.externalServices.projectsInfoService.azure.groups.pageSize | quote }}
20-
PROJECTS_INFO_SERVICE_TESTING_HUB_DEFAULT_PROJECTS: {{ .Values.externalServices.projectsInfoService.testingHub.default.projects | quote }}
21-
PROJECTS_INFO_SERVICE_TESTING_HUB_API_URL: {{ .Values.externalServices.projectsInfoService.testingHub.api.url | quote }}
22-
PROJECTS_INFO_SERVICE_TESTING_HUB_API_PAGE_SIZE: {{ .Values.externalServices.projectsInfoService.testingHub.api.pageSize | quote }}
23-
PROJECTS_INFO_SERVICE_CUSTOM_CACHE_TTL_SECONDS: {{ .Values.externalServices.projectsInfoService.custom.cache.default.ttlSeconds | quote }}
24-
PROJECTS_INFO_SERVICE_CUSTOM_CACHE_MAXIMUM_SIZE: {{ .Values.externalServices.projectsInfoService.custom.cache.default.maximumSize | quote }}
25-
PROJECTS_INFO_SERVICE_CUSTOM_CACHE_FALLBACK_TTL_SECONDS: {{ .Values.externalServices.projectsInfoService.custom.cache.fallback.ttlSeconds | quote }}
26-
PROJECTS_INFO_SERVICE_CUSTOM_CACHE_FALLBACK_MAXIMUM_SIZE: {{ .Values.externalServices.projectsInfoService.custom.cache.fallback.maximumSize | quote }}
27-
PROJECTS_INFO_SERVICE_MOCK_CLUSTERS: {{ .Values.externalServices.projectsInfoService.mock.clusters | quote }}
28-
PROJECTS_INFO_SERVICE_MOCK_DEFAULT_PROJECTS: {{ .Values.externalServices.projectsInfoService.mock.projects.default | quote }}
29-
PROJECTS_INFO_SERVICE_MOCK_USER_PROJECTS: {{ .Values.externalServices.projectsInfoService.mock.projects.users | quote }}
30-
PROJECTS_INFO_SERVICE_OPENSHIFT_US_TEST_URL: {{ .Values.externalServices.projectsInfoService.openshift.api.clusters.usTest.url | quote }}
31-
PROJECTS_INFO_SERVICE_OPENSHIFT_EU_DEV_URL: {{ .Values.externalServices.projectsInfoService.openshift.api.clusters.euDev.url | quote }}
32-
PROJECTS_INFO_SERVICE_OPENSHIFT_US_DEV_URL: {{ .Values.externalServices.projectsInfoService.openshift.api.clusters.usDev.url | quote }}
33-
PROJECTS_INFO_SERVICE_OPENSHIFT_CN_DEV_URL: {{ .Values.externalServices.projectsInfoService.openshift.api.clusters.cnDev.url | quote }}
34-
PROJECTS_INFO_SERVICE_OPENSHIFT_INH_DEV_URL: {{ .Values.externalServices.projectsInfoService.openshift.api.clusters.inhDev.url | quote }}
35-
PROJECTS_INFO_SERVICE_PLATFORMS_BASE_PATH: {{ .Values.externalServices.projectsInfoService.platforms.basePath | quote }}
36-
PROJECTS_INFO_SERVICE_PLATFORMS_US_TEST_CLUSTER: {{ .Values.externalServices.projectsInfoService.platforms.clusters.usTest | quote }}
37-
PROJECTS_INFO_SERVICE_PLATFORMS_EU_CLUSTER: {{ .Values.externalServices.projectsInfoService.platforms.clusters.euDev | quote }}
38-
PROJECTS_INFO_SERVICE_PLATFORMS_US_CLUSTER: {{ .Values.externalServices.projectsInfoService.platforms.clusters.usDev | quote }}
39-
PROJECTS_INFO_SERVICE_PLATFORMS_CN_CLUSTER: {{ .Values.externalServices.projectsInfoService.platforms.clusters.cnDev | quote }}
40-
PROJECTS_INFO_SERVICE_PLATFORMS_INH_CLUSTER: {{ .Values.externalServices.projectsInfoService.platforms.clusters.inhDev | quote }}
4111
{{- end }}

ods-api-service/chart/templates/external-service-projects-info-service/external-service-projects-info-service-secret.yaml

Lines changed: 0 additions & 23 deletions
This file was deleted.

ods-api-service/chart/templates/tpl/_application.tpl

Lines changed: 0 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -157,101 +157,5 @@ externalservices:
157157
{{- if .Values.externalServices.projectsInfoService.enabled }}
158158
projects-info-service:
159159
base-url: ${PROJECTS_INFO_SERVICE_BASE_URL:http://localhost:8081}
160-
ssl:
161-
verify-certificates: ${PROJECTS_INFO_SERVICE_SSL_VERIFY:true}
162-
trust-store-path: ${PROJECTS_INFO_SERVICE_SSL_TRUSTSTORE_PATH:}
163-
trust-store-password: ${PROJECTS_INFO_SERVICE_SSL_TRUSTSTORE_PASSWORD:}
164-
trust-store-type: ${PROJECTS_INFO_SERVICE_SSL_TRUSTSTORE_TYPE:JKS}
165-
azure:
166-
access-token: ${PROJECTS_INFO_SERVICE_AZURE_ACCESS_TOKEN:tbc}
167-
datahub:
168-
group-id: ${PROJECTS_INFO_SERVICE_AZURE_DATA_HUB_GROUP_ID:tbc}
169-
groups:
170-
page-size: ${PROJECTS_INFO_SERVICE_AZURE_GROUPS_PAGE_SIZE:100}
171-
testing-hub:
172-
default:
173-
projects: ${PROJECTS_INFO_SERVICE_TESTING_HUB_DEFAULT_PROJECTS:tbc}
174-
api:
175-
url: ${PROJECTS_INFO_SERVICE_TESTING_HUB_API_URL:tbc}
176-
token: ${PROJECTS_INFO_SERVICE_TESTING_HUB_API_TOKEN:tbc}
177-
page-size: ${PROJECTS_INFO_SERVICE_TESTING_HUB_API_PAGE_SIZE:100}
178-
custom:
179-
cache:
180-
specs:
181-
userGroups:
182-
ttl: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_TTL_SECONDS:60}
183-
maxSize: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_MAXIMUM_SIZE:100}
184-
userGroups-fallback:
185-
ttl: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_FALLBACK_TTL_SECONDS:120}
186-
maxSize: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_FALLBACK_MAXIMUM_SIZE:100}
187-
userEmail:
188-
ttl: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_TTL_SECONDS:60}
189-
maxSize: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_MAXIMUM_SIZE:100}
190-
userEmail-fallback:
191-
ttl: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_FALLBACK_TTL_SECONDS:120}
192-
maxSize: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_FALLBACK_MAXIMUM_SIZE:100}
193-
allEdpProjects:
194-
ttl: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_TTL_SECONDS:60}
195-
maxSize: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_MAXIMUM_SIZE:100}
196-
allEdpProjects-fallback:
197-
ttl: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_FALLBACK_TTL_SECONDS:120}
198-
maxSize: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_FALLBACK_MAXIMUM_SIZE:100}
199-
projectsInfoCache:
200-
ttl: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_TTL_SECONDS:60}
201-
maxSize: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_MAXIMUM_SIZE:100}
202-
projectsInfoCache-fallback:
203-
ttl: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_FALLBACK_TTL_SECONDS:120}
204-
maxSize: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_FALLBACK_MAXIMUM_SIZE:100}
205-
openshiftProjects:
206-
ttl: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_TTL_SECONDS:60}
207-
maxSize: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_MAXIMUM_SIZE:100}
208-
openshiftProjects-fallback:
209-
ttl: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_FALLBACK_TTL_SECONDS:120}
210-
maxSize: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_FALLBACK_MAXIMUM_SIZE:100}
211-
dataHubGroups:
212-
ttl: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_FALLBACK_TTL_SECONDS:120}
213-
maxSize: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_FALLBACK_MAXIMUM_SIZE:100}
214-
testingHubGroups:
215-
ttl: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_FALLBACK_TTL_SECONDS:120}
216-
maxSize: ${PROJECTS_INFO_SERVICE_CUSTOM_CACHE_FALLBACK_MAXIMUM_SIZE:100}
217-
mock:
218-
clusters: ${PROJECTS_INFO_SERVICE_MOCK_CLUSTERS:tbc}
219-
projects:
220-
default: ${PROJECTS_INFO_SERVICE_MOCK_DEFAULT_PROJECTS:tbc}
221-
users: ${PROJECTS_INFO_SERVICE_MOCK_USER_PROJECTS:tbc}
222-
openshift:
223-
api:
224-
clusters:
225-
us-test:
226-
url: ${PROJECTS_INFO_SERVICE_OPENSHIFT_US_TEST_URL:tbc}
227-
token: ${PROJECTS_INFO_SERVICE_OPENSHIFT_US_TEST_TOKEN:tbc}
228-
eu-dev:
229-
url: ${PROJECTS_INFO_SERVICE_OPENSHIFT_EU_DEV_URL:tbc}
230-
token: ${PROJECTS_INFO_SERVICE_OPENSHIFT_EU_DEV_TOKEN:tbc}
231-
us-dev:
232-
url: ${PROJECTS_INFO_SERVICE_OPENSHIFT_US_DEV_URL:tbc}
233-
token: ${PROJECTS_INFO_SERVICE_OPENSHIFT_US_DEV_TOKEN:tbc}
234-
cn-dev:
235-
url: ${PROJECTS_INFO_SERVICE_OPENSHIFT_CN_DEV_URL:tbc}
236-
token: ${PROJECTS_INFO_SERVICE_OPENSHIFT_CN_DEV_TOKEN:tbc}
237-
inh-dev:
238-
url: ${PROJECTS_INFO_SERVICE_OPENSHIFT_INH_DEV_URL:tbc}
239-
token: ${PROJECTS_INFO_SERVICE_OPENSHIFT_INH_DEV_TOKEN:tbc}
240-
project:
241-
url: /apis/project.openshift.io/v1/projects
242-
platforms:
243-
bearer-token: ${PROJECTS_INFO_SERVICE_PLATFORMS_BEARER_TOKEN:tbc}
244-
base-path: ${PROJECTS_INFO_SERVICE_PLATFORMS_BASE_PATH:tbc}
245-
clusters:
246-
us-test: ${PROJECTS_INFO_SERVICE_PLATFORMS_US_TEST_CLUSTER:tbc}
247-
eu-dev: ${PROJECTS_INFO_SERVICE_PLATFORMS_EU_CLUSTER:tbc}
248-
us-dev: ${PROJECTS_INFO_SERVICE_PLATFORMS_US_CLUSTER:tbc}
249-
cn-dev: ${PROJECTS_INFO_SERVICE_PLATFORMS_CN_CLUSTER:tbc}
250-
inh-dev: ${PROJECTS_INFO_SERVICE_PLATFORMS_INH_CLUSTER:tbc}
251-
project:
252-
filter:
253-
project-roles-group-prefix: BI-AS-ATLASSIAN-P
254-
# Properties to be used as lists cannot have leading or trailing blanks.
255-
project-roles-group-suffixes: TEAM,MANAGER,STAKEHOLDER
256160
{{- end }}
257161
{{- end -}}

ods-api-service/chart/values.yaml.template

Lines changed: 0 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -213,65 +213,6 @@ externalServices:
213213
projectsInfoService:
214214
enabled: true
215215
baseUrl: "$PROJECTS_INFO_SERVICE_BASE_URL"
216-
ssl:
217-
verifyCertificates: "false"
218-
trustStorePath: ""
219-
trustStorePassword: ""
220-
trustStoreType: "JKS"
221-
azure:
222-
accessToken: "$AZURE_ACCESS_TOKEN"
223-
datahub:
224-
groupId: "$AZURE_DATAHUB_GROUP_ID"
225-
groups:
226-
pageSize: 100
227-
testingHub:
228-
default:
229-
projects: "$TESTING_HUB_DEFAULT_PROJECTS"
230-
api:
231-
url: "$TESTING_HUB_API_URL"
232-
token: "$TESTING_HUB_API_TOKEN"
233-
pageSize: 100
234-
custom:
235-
cache:
236-
default:
237-
ttlSeconds: 3600 # seconds (1 hour)
238-
maximumSize: 1000
239-
fallback:
240-
ttlSeconds: 7200 # seconds (2 hour)
241-
maximumSize: 1000
242-
mock:
243-
clusters: "1-test, 2-test, 3-test"
244-
projects:
245-
default: "PROJECT-1:1-test, PROJECT-2-cn, PROJECT-3, SORIAOLI:1-test, VILAXICOIP:1-test, FELST:1-test"
246-
users: "{PEPE:[PROJECT-3, PROJECT-4]; PPT:[PROJECT-3, PROJECT-5]}"
247-
openshift:
248-
api:
249-
clusters:
250-
usTest:
251-
url: "$OPENSHIFT_USTEST_API_URL"
252-
token: $OPENSHIFT_USTEST_TOKEN
253-
euDev:
254-
url: "$OPENSHIFT_EUDEV_API_URL"
255-
token: $OPENSHIFT_EUDEV_TOKEN
256-
usDev:
257-
url: "$OPENSHIFT_USDEV_API_URL"
258-
token: $OPENSHIFT_USDEV_TOKEN
259-
cnDev:
260-
url: "$OPENSHIFT_CNDEV_API_URL"
261-
token: $OPENSHIFT_CNDEV_TOKEN
262-
inhDev:
263-
url: "$OPENSHIFT_INHDEV_API_URL"
264-
token: $OPENSHIFT_INHDEV_TOKEN
265-
platforms:
266-
basePath: "$BITBUCKET_PLATFORMS_BASE_PATH"
267-
clusters:
268-
usTest: "$BITBUCKET_PLATFORMS_USTEST"
269-
euDev: "$BITBUCKET_PLATFORMS_EUDEV"
270-
usDev: "$BITBUCKET_PLATFORMS_USDEV"
271-
cnDev: "$BITBUCKET_PLATFORMS_CNDEV"
272-
inhDev: "$BITBUCKET_PLATFORMS_INHDEV"
273-
bearer:
274-
token: $BITBUCKET_PLATFORMS_BEARER_TOKEN
275216
# Add OpenShift instances with tokens as needed
276217
openshift:
277218
instances: []

ods-api-service/docker/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ FROM registry.access.redhat.com/ubi9/openjdk-21-runtime:latest
44
# This applies for version from 2.10 and not below.
55
ENV LOG4J_FORMAT_MSG_NO_LOOKUPS=true
66

7-
ARG ODS_API_SERVICE_VERSION=latest
7+
ARG ODS_API_SERVICE_VERSION
88

9-
RUN curl -L https://github.com/opendevstack/ods-api-service/releases/download/v$ODS_API_SERVICE_VERSION/app.jar -o app.jar
9+
RUN curl -fSL --retry 3 https://github.com/opendevstack/ods-api-service/releases/download/$ODS_API_SERVICE_VERSION/app.jar -o app.jar
1010

1111
# Environment variable for certificate URLs (comma-separated) ENV CERT_URLS="" it is needed to install the certificates
1212
COPY install-certs.sh /opt/install-certs.sh

tests/scripts/get-artifact-from-jenkins-run.sh

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,31 @@ PROJECT=$2
66
BUILD_NAME=$1
77
BUILD_URL=$(oc get -n ${PROJECT} build ${BUILD_NAME} -o jsonpath='{.metadata.annotations.openshift\.io/jenkins-build-uri}')
88
echo $BUILD_URL
9-
if [[ "$3" == *"/"* ]]; then
10-
ARTIFACT_URL="${BUILD_URL}/artifact/${3}"
11-
else
12-
ARTIFACT_URL="${BUILD_URL}/artifact/artifacts/${3}"
13-
fi
9+
10+
# Strip trailing slash to avoid double slashes in URL
11+
BUILD_URL=${BUILD_URL%/}
1412

1513
# Extract just the filename from the artifact path for local storage
1614
ARTIFACT_FILENAME=$(basename "$3")
1715
OUTPUT_PATH="/tmp/${ARTIFACT_FILENAME}"
1816

19-
echo "grabbing artifact from $ARTIFACT_URL - and storing in ${OUTPUT_PATH}"
17+
# Define candidate artifact URLs
18+
ARTIFACT_URLS=(
19+
"${BUILD_URL}/artifact/${3}"
20+
"${BUILD_URL}/artifact/artifacts/${3}"
21+
)
22+
2023
TOKEN=$(oc whoami --show-token)
21-
httpCode=$(curl --insecure -sS ${ARTIFACT_URL} --header "Authorization: Bearer ${TOKEN}" -o "${OUTPUT_PATH}" -w "%{http_code}")
22-
echo "response: $httpCode"
23-
if [ ! "${httpCode}" == "200" ]; then
24-
echo "Could not find artifact $3 - url: $ARTIFACT_URL"
25-
exit 1
26-
fi
24+
echo "grabbing artifact from $ARTIFACT_FILENAME - and storing in ${OUTPUT_PATH}"
25+
26+
# Try each URL until one succeeds
27+
for url in "${ARTIFACT_URLS[@]}"; do
28+
httpCode=$(curl --insecure -sS "${url}" --header "Authorization: Bearer ${TOKEN}" -o "${OUTPUT_PATH}" -w "%{http_code}")
29+
echo "trying: $url - response: $httpCode"
30+
if [ "${httpCode}" == "200" ]; then
31+
exit 0
32+
fi
33+
done
34+
35+
echo "Could not find artifact $3"
36+
exit 1

0 commit comments

Comments
 (0)