Skip to content

QINT-15645: GitHub App for WAS #89

QINT-15645: GitHub App for WAS

QINT-15645: GitHub App for WAS #89

Workflow file for this run

name: Qualys WAS Scan GitHub Actions
on:
push:
branches:
- main
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Grant execute permissions to mvnw
run: chmod +x ./mvnw
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'oracle'
- name: Cache Maven dependencies
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Build Spring Boot App
run: ./mvnw clean package
- name: Store Maven dependencies in cache
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- name: Archive JAR Artifact
uses: actions/upload-artifact@v3
with:
name: GitHub-Action-QWas-Artifact
path: target/GitHubActionsQWas-0.0.1-SNAPSHOT.jar
run:
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'oracle'
- name: Download JAR Artifact
uses: actions/download-artifact@v3
with:
name: GitHub-Action-QWas-Artifact
path: ./
- name: Run Spring Boot App
run: java -jar ./GitHubActionsQWas-0.0.1-SNAPSHOT.jar
id: run-app
env:
API_SERVER: ${{ vars.API_SERVER }}
QUALYS_USERNAME: ${{ vars.QUALYS_USERNAME }}
QUALYS_PASSWORD: ${{ secrets.QUALYS_PASSWORD }}
WEBAPP_ID: ${{ vars.WEBAPP_ID }}
SCAN_NAME: ${{ vars.SCAN_NAME }}
SCAN_TYPE: ${{ vars.SCAN_TYPE }}
AUTH_RECORD: ${{ vars.AUTH_RECORD }}
AUTH_RECORD_ID: ${{ vars.AUTH_RECORD_ID }}
OPTION_PROFILE: ${{ vars.OPTION_PROFILE }}
OPTION_PROFILE_ID: ${{ vars.OPTION_PROFILE_ID }}
CANCEL_OPTION: ${{ vars.CANCEL_OPTION }}
CANCEL_HOURS: ${{ vars.CANCEL_HOURS }}
SEVERITY_CHECK: ${{ vars.SEVERITY_CHECK }}
SEVERITY_LEVEL: ${{ vars.SEVERITY_LEVEL }}
EXCLUDE: ${{ vars.EXCLUDE }}
FAIL_ON_SCAN_ERROR: ${{ vars.FAIL_ON_SCAN_ERROR }}
WAIT_FOR_RESULT: ${{ vars.WAIT_FOR_RESULT }}
INTERVAL: ${{ vars.INTERVAL }}
TIMEOUT: ${{ vars.TIMEOUT }}
continue-on-error: true
- name: Upload Scan Report
uses: actions/upload-artifact@v3
with:
name: Qualys_WAS_Scan_Result
path: ./outputs
if-no-files-found: ignore
- name: Check build status
if: steps.run-app.outcome != 'success'
run: exit 1