# CLI # NAME woodpecker-cli - command line utility # SYNOPSIS woodpecker-cli ``` [--config|-c]=[value] [--disable-update-check] [--log-file]=[value] [--log-level]=[value] [--nocolor] [--pretty] [--server|-s]=[value] [--token|-t]=[value] ``` # DESCRIPTION Woodpecker command line utility **Usage**: ``` woodpecker-cli [GLOBAL OPTIONS] [command [COMMAND OPTIONS]] [ARGUMENTS...] ``` # GLOBAL OPTIONS **--config, -c**="": path to config file **--disable-update-check**: disable update check **--log-file**="": Output destination for logs. 'stdout' and 'stderr' can be used as special keywords. (default: stderr) **--log-level**="": set logging level (default: info) **--nocolor**: disable colored debug output, only has effect if pretty output is set too **--pretty**: enable pretty-printed debug output **--server, -s**="": server address **--token, -t**="": server auth token # COMMANDS ## admin administer server settings ### registry manage global registries #### add adds a registry **--hostname**="": registry hostname (default: docker.io) **--password**="": registry password **--username**="": registry username #### rm remove a registry **--hostname**="": registry hostname (default: docker.io) #### update update a registry **--hostname**="": registry hostname (default: docker.io) **--organization, --org**="": organization id or full name (e.g. 123 or octocat) **--password**="": registry password **--username**="": registry username #### info display registry info **--hostname**="": registry hostname (default: docker.io) #### ls list registries ## org manage organizations ### registry manage organization registries #### add adds a registry **--hostname**="": registry hostname (default: docker.io) **--organization, --org**="": organization id or full name (e.g. 123 or octocat) **--password**="": registry password **--username**="": registry username #### rm remove a registry **--hostname**="": registry hostname (default: docker.io) **--organization, --org**="": organization id or full name (e.g. 123 or octocat) #### update update a registry **--hostname**="": registry hostname (default: docker.io) **--organization, --org**="": organization id or full name (e.g. 123 or octocat) **--password**="": registry password **--username**="": registry username #### info display registry info **--hostname**="": registry hostname (default: docker.io) **--organization, --org**="": organization id or full name (e.g. 123 or octocat) #### ls list registries **--organization, --org**="": organization id or full name (e.g. 123 or octocat) ## repo manage repositories ### ls list all repos **--format**="": format output (default: {{ .FullName }} (id: {{ .ID }}, forgeRemoteID: {{ .ForgeRemoteID }})) **--org**="": filter by organization ### info show repository details **--format**="": format output (default: Owner: {{ .Owner }} Repo: {{ .Name }} URL: {{ .ForgeURL }} Config path: {{ .Config }} Visibility: {{ .Visibility }} Private: {{ .IsSCMPrivate }} Trusted: {{ .IsTrusted }} Gated: {{ .IsGated }} Require approval for: {{ .RequireApproval }} Clone url: {{ .Clone }} Allow pull-requests: {{ .AllowPullRequests }} ) ### add add a repository ### update update a repository **--config**="": repository configuration path (e.g. .woodpecker.yml) **--gated**: [deprecated] repository is gated **--pipeline-counter**="": repository starting pipeline number (default: 0) **--require-approval**="": repository requires approval for **--timeout**="": repository timeout (default: 0s) **--trusted**: repository is trusted **--unsafe**: validate updating the pipeline-counter is unsafe **--visibility**="": repository visibility ### rm remove a repository ### repair repair repository webhooks ### chown assume ownership of a repository ### sync synchronize the repository list **--format**="": format output (default: {{ .FullName }} (id: {{ .ID }}, forgeRemoteID: {{ .ForgeRemoteID }})) ### registry manage registries #### add adds a registry **--hostname**="": registry hostname (default: docker.io) **--password**="": registry password **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) **--username**="": registry username #### rm remove a registry **--hostname**="": registry hostname (default: docker.io) **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) #### update update a registry **--hostname**="": registry hostname (default: docker.io) **--password**="": registry password **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) **--username**="": registry username #### info display registry info **--hostname**="": registry hostname (default: docker.io) **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) #### ls list registries **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) ## pipeline manage pipelines ### ls show pipeline history **--branch**="": branch filter **--event**="": event filter **--limit**="": limit the list size (default: 25) **--output**="": output format (default: table) **--output-no-headers**: don't print headers **--status**="": status filter ### last show latest pipeline details **--branch**="": branch name (default: main) **--output**="": output format (default: table) **--output-no-headers**: don't print headers ### logs show pipeline logs ### info show pipeline details **--output**="": output format (default: table) **--output-no-headers**: don't print headers ### stop stop a pipeline ### start start a pipeline **--param, -p**="": custom parameters to be injected into the step environment. Format: KEY=value (default: []) ### approve approve a pipeline ### decline decline a pipeline ### queue show pipeline queue **--format**="": format output (default: {{ .FullName }} #{{ .Number }}  Status: {{ .Status }} Event: {{ .Event }} Commit: {{ .Commit }} Branch: {{ .Branch }} Ref: {{ .Ref }} Author: {{ .Author }} {{ if .Email }}<{{.Email}}>{{ end }} Message: {{ .Message }} ) ### ps show pipeline steps **--format**="": format output (default: {{ .workflow.Name }} > {{ .step.Name }} (#{{ .step.PID }}): Step: {{ .step.Name }} Started: {{ .step.Started }} Stopped: {{ .step.Stopped }} Type: {{ .step.Type }} State: {{ .step.State }} ) ### create create new pipeline **--branch**="": branch to create pipeline from **--output**="": output format (default: table) **--output-no-headers**: don't print headers **--var**="": key=value (default: []) ## log manage logs ### purge purge a log ## deploy trigger a pipeline with the 'deployment' event **--branch**="": branch filter **--event**="": event filter (default: push) **--format**="": format output (default: Number: {{ .Number }} Status: {{ .Status }} Commit: {{ .Commit }} Branch: {{ .Branch }} Ref: {{ .Ref }} Message: {{ .Message }} Author: {{ .Author }} Target: {{ .Deploy }} ) **--param, -p**="": custom parameters to be injected into the step environment. Format: KEY=value (default: []) **--status**="": status filter (default: success) ## exec execute a local pipeline **--backend-docker-api-version**="": the version of the API to reach, leave empty for latest. **--backend-docker-cert**="": path to load the TLS certificates for connecting to docker server **--backend-docker-host**="": path to docker socket or url to the docker server **--backend-docker-ipv6**: backend docker enable IPV6 **--backend-docker-network**="": backend docker network **--backend-docker-tls-verify**: enable or disable TLS verification for connecting to docker server **--backend-docker-volumes**="": backend docker volumes (comma separated) **--backend-engine**="": backend engine to run pipelines on (default: auto-detect) **--backend-http-proxy**="": if set, pass the environment variable down as "HTTP_PROXY" to steps **--backend-https-proxy**="": if set, pass the environment variable down as "HTTPS_PROXY" to steps **--backend-k8s-allow-native-secrets**: whether to allow existing Kubernetes secrets to be referenced from steps **--backend-k8s-namespace**="": backend k8s namespace (default: woodpecker) **--backend-k8s-pod-annotations**="": backend k8s additional Agent-wide worker pod annotations **--backend-k8s-pod-annotations-allow-from-step**: whether to allow using annotations from step's backend options **--backend-k8s-pod-image-pull-secret-names**="": backend k8s pull secret names for private registries (default: [regcred]) **--backend-k8s-pod-labels**="": backend k8s additional Agent-wide worker pod labels **--backend-k8s-pod-labels-allow-from-step**: whether to allow using labels from step's backend options **--backend-k8s-pod-node-selector**="": backend k8s Agent-wide worker pod node selector **--backend-k8s-secctx-nonroot**: `run as non root` Kubernetes security context option **--backend-k8s-storage-class**="": backend k8s storage class **--backend-k8s-storage-rwx**: backend k8s storage access mode, should ReadWriteMany (RWX) instead of ReadWriteOnce (RWO) be used? (default: true) **--backend-k8s-volume-size**="": backend k8s volume size (default 10G) (default: 10G) **--backend-local-temp-dir**="": set a different temp dir to clone workflows into (default: /tmp/nix-shell.OgDG7Z) **--backend-no-proxy**="": if set, pass the environment variable down as "NO_PROXY" to steps **--commit-author-avatar**="": **--commit-author-email**="": **--commit-author-name**="": **--commit-branch**="": **--commit-message**="": **--commit-ref**="": **--commit-refspec**="": **--commit-sha**="": **--env**="": (default: []) **--forge-type**="": **--forge-url**="": **--local**: run from local directory **--netrc-machine**="": **--netrc-password**="": **--netrc-username**="": **--network**="": external networks (default: []) **--pipeline-created**="": (default: 0) **--pipeline-deploy-task**="": **--pipeline-deploy-to**="": **--pipeline-event**="": (default: manual) **--pipeline-finished**="": (default: 0) **--pipeline-number**="": (default: 0) **--pipeline-parent**="": (default: 0) **--pipeline-started**="": (default: 0) **--pipeline-status**="": **--pipeline-url**="": **--prev-commit-author-avatar**="": **--prev-commit-author-email**="": **--prev-commit-author-name**="": **--prev-commit-branch**="": **--prev-commit-message**="": **--prev-commit-ref**="": **--prev-commit-refspec**="": **--prev-commit-sha**="": **--prev-pipeline-created**="": (default: 0) **--prev-pipeline-event**="": **--prev-pipeline-finished**="": (default: 0) **--prev-pipeline-number**="": (default: 0) **--prev-pipeline-started**="": (default: 0) **--prev-pipeline-status**="": **--prev-pipeline-url**="": **--privileged**="": privileged plugins (default: [plugins/docker plugins/gcr plugins/ecr woodpeckerci/plugin-docker-buildx codeberg.org/woodpecker-plugins/docker-buildx]) **--repo**="": full repo name **--repo-clone-ssh-url**="": **--repo-clone-url**="": **--repo-path**="": path to local repository **--repo-private**="": **--repo-remote-id**="": **--repo-trusted**: **--repo-url**="": **--step-name**="": (default: 0) **--system-name**="": (default: woodpecker) **--system-platform**="": **--system-url**="": (default: https://github.com/woodpecker-ci/woodpecker) **--timeout**="": pipeline timeout (default: 1h0m0s) **--volumes**="": pipeline volumes (default: []) **--workflow-name**="": (default: 0) **--workflow-number**="": (default: 0) **--workspace-base**="": (default: /woodpecker) **--workspace-path**="": (default: src) ## info show information about the current user ## registry manage registries ### add adds a registry **--hostname**="": registry hostname (default: docker.io) **--password**="": registry password **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) **--username**="": registry username ### rm remove a registry **--hostname**="": registry hostname (default: docker.io) **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) ### update update a registry **--hostname**="": registry hostname (default: docker.io) **--password**="": registry password **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) **--username**="": registry username ### info display registry info **--hostname**="": registry hostname (default: docker.io) **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) ### ls list registries **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) ## secret manage secrets ### add adds a secret **--event**="": secret limited to these events (default: []) **--global**: global secret **--image**="": secret limited to these images (default: []) **--name**="": secret name **--organization, --org**="": organization id or full name (e.g. 123 or octocat) **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) **--value**="": secret value ### rm remove a secret **--global**: global secret **--name**="": secret name **--organization, --org**="": organization id or full name (e.g. 123 or octocat) **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) ### update update a secret **--event**="": secret limited to these events (default: []) **--global**: global secret **--image**="": secret limited to these images (default: []) **--name**="": secret name **--organization, --org**="": organization id or full name (e.g. 123 or octocat) **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) **--value**="": secret value ### info display secret info **--global**: global secret **--name**="": secret name **--organization, --org**="": organization id or full name (e.g. 123 or octocat) **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) ### ls list secrets **--global**: global secret **--organization, --org**="": organization id or full name (e.g. 123 or octocat) **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) ## user manage users ### ls list all users **--format**="": format output (default: {{ .Login }}) ### info show user details **--format**="": format output (default: User: {{ .Login }} Email: {{ .Email }}) ### add adds a user ### rm remove a user ## lint lint a pipeline configuration file ## log-level get the logging level of the server, or set it with [level] ## cron manage cron jobs ### add add a cron job **--branch**="": cron branch **--name**="": cron name **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) **--schedule**="": cron schedule ### rm remove a cron job **--id**="": cron id **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) ### update update a cron job **--branch**="": cron branch **--id**="": cron id **--name**="": cron name **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) **--schedule**="": cron schedule ### info display info about a cron job **--id**="": cron id **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) ### ls list cron jobs **--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world) ## setup setup the woodpecker-cli for the first time **--server**="": The URL of the woodpecker server **--token**="": The token to authenticate with the woodpecker server ## update update the woodpecker-cli to the latest version **--force**: force update even if the latest version is already installed