GitHub

What is GitHub?

GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere.

With the GitHub app, you can:

  • create a new issue in GitHub when you file a defect during a test run in Qase.

  • connect a GitHub workflow to Qase.

  • execute automated runs in GitHub from a Qase test run.

Installation


Go to the 'Apps' section of your workspace:

To install the app, follow these steps:

  1. Click the GitHub card, and hit "Install now"

  2. Log in to GitHub, if you're not already.

  3. Select the GitHub Repositories where you want to install the app, then hit "Install"

  4. After the redirect, hit "Authorize" to complete the installation.

  5. The app is now installed successfully.

Step 4 is important because it authorizes GitHub to access your Qase workspace.

Usage


1. Issue-tracking

a. Creating a GitHub issue

To create a GitHub issue together with a defect in Qase:

  1. In the test run, mark your test case as Failed, Blocked, or Invalid and proceed with creating a Defect

  2. In the Defect creation form, under “Choose Integrations”, select "GitHub App" and click "Add defect"

  3. Choose the GitHub repository to create an issue in, then hit "Create"

  4. In the Qase Defect you will now have a connected GitHub issue link

  5. The statuses of the Qase Defect and the connected GitHub issue synced, meaning marking one as closed resolves the other (and vice versa).

b. Link a GitHub issue to Test cases/Runs.

For Test cases -

  1. Click on the test case you want to link the GitHub issue to.

  2. Switch to the properties tab in the preview window.

  3. Scroll down and click on "Link GitHub app issue"

  4. In the modal window- select your repository, search for the issue and click on 'link'.

For Test runs -

  1. Go to your Test runs view and click on the run you want to link the GitHub issue to.

  2. In the Run dashboard, to the bottom right, find the button 'Select an integration' under External issue.

  3. In the modal window- select your repository, search for the issue and click on 'link'.

CI/CD Workflows


a. Connect your Workflow

Follow these steps to connect a GitHub workflow to Qase:

  1. One of Qase reporter apps should be used in order to receive the test run results.

  2. Create a token in Qase and add it to the QASE_API_TOKEN secret in your GitHub repository settings.

  1. The inputs and env variables that are required need to be defined in a workflow:

on:
  workflow_dispatch:
    inputs:
      qase_api_base_url:
        description: 'Qase API URL'
        required: true
      qase_report:
        description: 'Enabled/disabled reporting to Qase'
        required: true
      qase_project_code:
        description: 'Qase project code'
        required: true
      qase_run_id:
        description: 'Qase Run ID'
        required: true
      qase_run_complete:
        description: 'Qase Run autocomplete'
        required: true
env:
  QASE_API_BASE_URL: ${{ inputs.qase_api_base_url }}
  QASE_REPORT: ${{ inputs.qase_report }}
  QASE_PROJECT_CODE: ${{ inputs.qase_project_code }}
  QASE_RUN_ID: ${{ inputs.qase_run_id }}
  QASE_RUN_COMPLETE: ${{ inputs.qase_run_complete }}
  QASE_API_TOKEN: ${{ secrets.QASE_API_TOKEN }}
  1. Add a step to the first place in the job. It allows to link a GitHub workflow run with a Qase test run.

jobs:
  build-php:
    runs-on: ubuntu-latest
    steps:
      - uses: qase-tms/qase-link-run@main
        env:
          QASE_API_TOKEN: ${{ env.QASE_API_TOKEN }}
  1. Add additional steps to execute your tests.

Related links:

b. Start an automated run

After the workflow is connected, you can initiate automated test runs from Qase:

  1. Start a new automated test run:

  2. Choose a CI/CD system to use (Github):

  3. Fill in the required fields:

  4. Click "Start a run" button.

  5. You will be redirected to a test run you started. In the test run details section, you will see a link to the workflow run in GitHub and the current status.

  6. When the tests have been executed, the test run will contain all the results sent by a reporter (it should be properly configured):

Troubleshooting:

If integration with GitHub has already been enabled before, it’s required to accept new permissions in the GitHub application settings.

In case of insufficient permissions after clicking on the “Start a run” button, a message with an error will appear.

Useful resource

An example of Github integration: https://github.com/qase-tms/qase-javascript/tree/master/examples/github-qase-integration

Last updated