Updated New Script
This Script is faster, more powerful, and easier to implement.
Appsurify Script Installation
Index
Installation Instructions
Requirements
Support OS / Python
Installation Command
Repository Push / Git2TestBrain (git2appsurify)
Possible params
Usage Examples
Repository Checkout
Possible Params
Usage Examples
Installation Instructions
Requirements
Python 3.7+
Support OS / Python
Linux
3.7
🟢
Linux
3.8
🟢
Linux
3.11
🟢
MacOS
3.7
🟢
MacOS
3.8
🟢
MacOS
3.11
🟢
Windows
3.7
🟢
Windows
3.8
🟢
Windows
3.11
🟢
Installation Command
pip install appsurify-testbrain-cli
or
poetry add appsurify-testbrain-cli
Docker image "appsurify-testbrain-cli"
Latest Version
docker pull appsurifyinc/appsurify-testbrain-cli
Specify version
docker pull appsurifyinc/appsurify-testbrain-cli:2023.10.24
Repository Push | Git2Testbrain (git2appsurify)
This module is used to push changes in the repository to the Testbrain server for further analysis and testing optimization.
Alias #1
testbrain repository push --help
Alias #2
git2testbrain push --help
Alias #3
testbrain git2testbrain push --help
Parameters
Yes
--server
TESTBRAIN_SERVER
Enter your Testbrain server instance url.
Yes
--token
TESTBRAIN_TOKEN
Enter your testbrain server instance token or API Key. Located in top-right hand corner of user-interface under user profile.
Yes
--project
TESTBRAIN_PROJECT
Enter your Testbrain projet name.
No
--work-dir
current dir
TESTBRAIN_WORK_DIR
Enter the testbrain script working directory. If not specified, the current working directory will be used.
No
--repo name
TESTBRAIN_REPO_NAME
Define repository name. If not specified, it will be automatically taken from the GitRepository repository.
No
--repo-dir
current dir
TESTBRAIN_REPO_DIR
Enter the git repository directory. If not specified, the current working directory will be used.
No
--branch
current
TESTBRAIN_BRANCH
Enter the explicit branch to process commits. If not specified, use current active branch.
No
--start / --commit
latest (HEAD)
TESTBRAIN_START_COMMIT
Enter the commit that should be starter. If not specified, it will be used 'latest' commit.
No
--number
1
TESTBRAIN_NUMBER_OF_COMMITS
Enter the number of commits to process.
No (unavailable)
--blame
false
Add blame information.
No
--minimize
false
Suppress commit changes information. [default; (False)]
No
--pr-mode
false
TESTBRAIN_PR_MODE
Activate PR mode
No
-l, --loglevel
INFO
Possible fatalities: DEBUG/INFO/WARNING/ERROR
No
--logfile
stderr
Saves logs to file
No
--quiet
fales
Quiet mode...every time exit with 0
Usage Examples
Push to Testbrain server only one last commit from current branch:
git2testbrain --server https://demo.appsurify.com --token ************************************************************** --project DEMO
Or
git2testbrain push --server https://demo.appsurify.com --token ************************************************************** --project DEMO
Push to Testbrain server last 100 commits started from specify commit into specify branch:
git2testbrain --server https://demo.appsurify.com --token ************************************************************** --project DEMO --branch main --start latest --number 100
If need more process information - change logging level:
git2testbrain --server https://demo.appsurify.com --token ************************************************************** --project DEMO --branch main --start latest --number 100 --loglevel DEBUG
Add log file with full or relative path:
git2testbrain --server https://demo.appsurify.com --token ************************************************************** --project DEMO --branch main --start latest --number 100 --loglevel INFO --logfile ./git2testbrain.log
If any crash errors script will create crash dump file into {WORK_DIR}/.crashdumps/
git2testbrain --server https://demo.appsurify.com --token ************************************************************** --project DEMO
You can see this message:
2023-11-05 21:16:03 INFO testbrain.repository.cli push [repository/cli.py:184] Running...
2023-11-05 21:16:03 DEBUG testbrain.terminal.process Process.__init__ [terminal/process.py:22] Set up execution working dir ...
Dumped crash report to <path_to_work_dir>/.crashdumps/git2testbrain-2023-10-23-11-27-39.dump
Docker version usage
$(pwd) - git repository path
docker run --rm -it \
-v $(pwd)/:/data \
appsurifyinc/appsurify-testbrain-cli git2testbrain --server https://demo.appsurify.com --token ************************************************************** --project DEMO
CI example (github actions)
.github/workflows/testbrain-git2testbrain.yml
name: "Testbrain"
on:
workflow_dispatch:
pull_request:
branches:
- "main"
- "development"
push:
branches:
- "main"
- "releases/*.*.*"
- "development"
jobs:
push-changes:
name: "Push changes to server"
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
checks: write
steps:
- name: "Checkout repository"
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: "Extract branch name"
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
id: extract_branch
- name: "Push"
uses: addnab/docker-run-action@v3
with:
image: appsurifyinc/appsurify-testbrain-cli:latest
options: -v ${{ github.workspace }}:/data -e TESTBRAIN_PR_MODE=${{ github.event_name == 'pull_request' }}
run: |
git2testbrain push --server ${{ vars.TESTBRAIN_SERVER }} --token ${{ secrets.TESTBRAIN_TOKEN }} --project ${{ vars.TESTBRAIN_PROJECT }} --branch ${{ steps.extract_branch.outputs.branch }} --start ${{ github.sha }} --number ${{ vars.TESTBRAIN_NUMBER_OF_COMMITS }} -l DEBUG
- name: "Upload crash dumps"
uses: actions/upload-artifact@v3
if: failure()
with:
name: "crashdumps"
path: ${{ github.workspace }}/.crashdumps/
retention-days: 1
Repository Checkout
This module is used to checkout branches during the execution of CI pipelines or manually. Cloning is not provided.
Alias #1
testbrain repository checkout --help
Alias #2
git2testbrain checkout --help
Alias #3
testbrain git2testbrain checkout --help
Parameters
No
--repo-dir
current dir
TESTBRAIN_REPO_DIR
Enter the git repository directory. If not specified, the current working directly will be used.
No
--branch
current
TESTBRAIN_BRANCH
Enter the explicit branch to process commits. If not specified, use current active branch.
No
--commit
latest (HEAD)
TESTBRAIN_START_COMMIT
Enter the commit that should be starter. If not specified, it will be used 'latest' commit.
No
--pr-mode
False
TESTBRAIN_PR_MODE
Activate PR mode
No
--work-dir
current dir
TEST_WORK_DIR
Enter the testbrain script working directory, the current working directory will be used.
No
-l, --loglevel
INFO
Possible Fatalities: DEBUG/INFO/WARNING/ERROR
No
--logfile
stderr
Save logs to file
No
--quiet
false
Quiet mode...every time exit with 0
Usage Examples:
Checkout using Testbrain CLI
git2testbrain checkout --branch main -l INFO
Or
git2testbrain checkout --branch main --commit 75ec2f061868c33306963a27d5164211553c049b --pr-mode -l INFO
Or
git2testbrain checkout --branch main --commit 676c581 --pr-mode -l INFO
Docker version usage
$(pwd) - git repository path
docker run --rm -it \
-v $(pwd)/:/data \
appsurifyinc/appsurify-testbrain-cli git2testbrain checkout --branch main --commit 676c581 --pr-mode -l INFO
Last updated
Was this helpful?