Skip to content

Credential Validation #174

Credential Validation

Credential Validation #174

name: Credential Validation
on:
workflow_dispatch: # Triggered by Jenkins or manually
jobs:
validate-credentials:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install JFrog CLI
uses: jfrog/setup-jfrog-cli@v4
env:
JF_URL: ${{ secrets.JF_URL }}
JF_ACCESS_TOKEN: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
- name: Validate JFrog Artifactory Credentials
id: validate_jfrog
run: |
echo "Testing JFrog Artifactory connection..."
if jf rt ping; then
echo "status=✅ SUCCESS" >> $GITHUB_OUTPUT
echo "message=JFrog connection successful" >> $GITHUB_OUTPUT
echo "✅ JFrog Artifactory credentials are valid"
else
echo "status=❌ FAILURE" >> $GITHUB_OUTPUT
echo "message=JFrog connection failed" >> $GITHUB_OUTPUT
echo "❌ JFrog Artifactory credentials validation failed"
exit 1
fi
- name: Validate Maven Central (Central Portal) Credentials
id: validate_maven_central
if: always()
run: |
echo "Testing Maven Central (Central Portal) connection..."
# Central Portal uses UserToken auth scheme: Authorization: UserToken <base64(user:pass)>
TOKEN=$(echo -n "${{ secrets.CENTRAL_USERNAME }}:${{ secrets.CENTRAL_PASSWORD }}" | base64)
HTTP_CODE=$(curl -s -o /dev/null -w '%{http_code}' \
-H "Authorization: UserToken $TOKEN" \
"https://central.sonatype.com/api/v1/publisher/published?namespace=org.jfrog.buildinfo&name=artifactory-maven-plugin&version=3.7.1")
echo "Maven Central API response: $HTTP_CODE"
# 200 = auth OK and artifact found
# 404 = auth OK but artifact not found
# 401 = invalid credentials
if [ "$HTTP_CODE" = "200" ] || [ "$HTTP_CODE" = "404" ]; then
echo "status=SUCCESS" >> $GITHUB_OUTPUT
echo "message=Maven Central credentials valid" >> $GITHUB_OUTPUT
echo "✅ Maven Central credentials are valid"
elif [ "$HTTP_CODE" = "401" ]; then
echo "status=FAILURE" >> $GITHUB_OUTPUT
echo "message=Authentication failed - invalid credentials" >> $GITHUB_OUTPUT
echo "❌ Maven Central authentication failed (401)"
exit 1
else
echo "status=FAILURE" >> $GITHUB_OUTPUT
echo "message=Connection failed - HTTP $HTTP_CODE" >> $GITHUB_OUTPUT
echo "❌ Maven Central connection failed with HTTP $HTTP_CODE"
exit 1
fi