Kiwi

Kiwi for Bitrise

Report check results from Bitrise to a run's Verify step with a checker key.

  • Posts named check results over HTTP with a checker key. The key can report only the checks you choose in one project.
  • Checks reserved for CI accept results only from a checker key.
  • Records each result against the candidate under review. A pass counts toward Verify; a fail means the run needs rework.
  • Records a retried report once.
  • Kiwi does not start pipelines or read their logs. It records the results your pipeline sends.

Set up

Store your checker key as a Secret named KIWI_CHECKER_KEY and add report-kiwi-check.sh from the setup guide to your repository.

This bitrise.yml runs your tests, then reports the tests-pass check as pass or fail:

format_version: '25'

meta:
  bitrise.io:
    stack: ubuntu-noble-24.04-bitrise-2025-android

workflows:
  kiwi:
    steps:
    - git-clone@8: {}
    - script@1:
        title: Test
        inputs:
        - content: npm ci && npm test
    - script@1:
        title: Report to Kiwi
        is_always_run: true
        is_skippable: true
        run_if: '{{getenv "KIWI_RUN_ID" | ne ""}}'
        inputs:
        - content: |-
            sudo apt-get update && sudo apt-get install -y uuid-runtime
            if [ "$BITRISE_BUILD_STATUS" = 0 ]; then
              ./report-kiwi-check.sh tests-pass pass "$BITRISE_BUILD_URL"
            else
              ./report-kiwi-check.sh tests-pass fail "$BITRISE_BUILD_URL"
            fi

Start the kiwi workflow with the Kiwi run ID as a custom KIWI_RUN_ID environment variable. The report step is skipped when the variable is empty, and is_skippable keeps a failed report from failing the build.

Replace tests-pass with the check ID from your plan.