en un clic
run-script
// Execute any the-power script with guided parameter input. Covers prerequisites, working directory, output interpretation, HTTP status codes, error patterns, and debugging techniques.
// Execute any the-power script with guided parameter input. Covers prerequisites, working directory, output interpretation, HTTP status codes, error patterns, and debugging techniques.
Clean up GitHub resources created by the-power test environment scripts. Delete repositories, teams, members, rulesets, webhooks, environments, and other resources. Suspend or unsuspend users on GHES.
Configure the-power for a target GitHub instance. Run configure.py to generate .gh-api-examples.conf with hostname, token, org, repo, and other settings. Covers interactive and non-interactive setup, GHES vs dotcom differences, curl flags for self-signed certs, and GitHub App configuration.
Create a fully populated test organisation on a GitHub instance using the-power's build-all.sh script. Includes users, teams, repos, PRs, branch protection, and more. Requires .gh-api-examples.conf to be configured first.
Create a test repository using the-power's build-testcase scripts. Covers the full decision matrix of 30+ testcase scripts for repos with PRs, issues, workflows, secret scanning, rulesets, runners, and more.
Find the right the-power script by category, keyword, or goal. Covers all ~980 scripts organised by operation type with safety labels for destructive, GHES-only, and bulk operations.
Scale up a test environment by bulk-creating repos, users, orgs, teams, issues, branches, PRs, and commits using the-power's create-many scripts. Three performance tiers: shell, Python connection reuse, and Python pooling.
| name | run-script |
| description | Execute any the-power script with guided parameter input. Covers prerequisites, working directory, output interpretation, HTTP status codes, error patterns, and debugging techniques. |
| keywords | ["run","execute","script","output","HTTP","status","error","debug","curl"] |
Execute scripts from the-power and interpret their output.
All scripts must be run from the root of a the-power repository clone
(the directory containing build-testcase, configure.py, and
.gh-api-examples.conf).
Find an existing clone:
find ~ -maxdepth 5 -name "build-testcase" -path "*/the-power/*" 2>/dev/null
.gh-api-examples.conf must exist. Generate with python3 configure.py.jq, curl, python3, bash 5.x..gh-api-examples.conf.Verify the target org is accessible:
./get-an-organization.sh
If it returns 404, either create the org first (see create-test-org) or
use build-all.sh.
./build-testcase # repo with PR, issue, release
./build-testcase-workflow-simple # GitHub Actions workflow
./build-testcase-secret-scanning # secret scanning setup
./create-repo.sh # create a repository
./create-branch.sh # create a branch
./create-pull-request.sh # open a pull request
./list-organization-members.sh # list org members
./get-a-repo.sh # get repo details
Most scripts accept an optional positional argument to override the default resource name:
./create-repo.sh my-custom-repo
./delete-repo.sh my-custom-repo
./list-team-members.sh my-team-slug
| HTTP status | Meaning |
|---|---|
| 200 | Retrieved or updated successfully |
| 201 | Created successfully — look for html_url in the response |
| 204 | Deleted successfully (no content) |
| HTTP status | Meaning | Common cause |
|---|---|---|
| 401 | Unauthorised | Token expired, invalid, or missing |
| 403 | Forbidden | Token lacks required scopes |
| 404 | Not Found | Resource does not exist, or token cannot see it |
| 422 | Validation Failed | Payload malformed or resource already exists |
{
"message": "Validation Failed",
"errors": [{"resource": "Repository", "field": "name",
"message": "name already exists on this account"}]
}
./list-repo.sh # repo details
./list-branches.sh # branches
./list-pull-requests.sh # PRs
./list-repository-issues.sh # issues
./list-repository-webhooks.sh # webhooks
./get-branch-protection.sh # branch protection rules
Scripts write request bodies to tmp/ before sending:
cat tmp/create-pull-request.json | jq .
Set curl_custom_flags to -v for HTTP debugging:
python3 gh-set-value.py --key curl_custom_flags --value "-v"
Always use python3 base64encode.py for base64 encoding. Never use
the native base64 CLI tool — it behaves inconsistently across platforms.
tmp/ for the JSON payload.curl_custom_flags includes
--fail-with-body.troubleshoot skill.delete-*, suspend-*) without
explicit user confirmation..gh-api-examples.conf directly unless asked.
Use python3 gh-set-value.py to change individual values.