Skip to main content
Version: 2.4.x

CLI

NAME

woodpecker-cli - A new cli application

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

pipelineโ€‹

manage pipelines

lsโ€‹

show pipeline history

--branch="": branch filter

--event="": event filter

--format="": format output (default: "\x1b[33mPipeline #{{ .Number }} \x1b[0m\nStatus: {{ .Status }}\nEvent: {{ .Event }}\nCommit: {{ .Commit }}\nBranch: {{ .Branch }}\nRef: {{ .Ref }}\nAuthor: {{ .Author }} {{ if .Email }}<{{.Email}}>{{ end }}\nMessage: {{ .Message }}\n")

--limit="": limit the list size (default: 25)

--status="": status filter

lastโ€‹

show latest pipeline details

--branch="": branch name (default: "main")

--format="": format output (default: "Number: {{ .Number }}\nStatus: {{ .Status }}\nEvent: {{ .Event }}\nCommit: {{ .Commit }}\nBranch: {{ .Branch }}\nRef: {{ .Ref }}\nMessage: {{ .Message }}\nAuthor: {{ .Author }}\n")

logsโ€‹

show pipeline logs

infoโ€‹

show pipeline details

--format="": format output (default: "Number: {{ .Number }}\nStatus: {{ .Status }}\nEvent: {{ .Event }}\nCommit: {{ .Commit }}\nBranch: {{ .Branch }}\nRef: {{ .Ref }}\nMessage: {{ .Message }}\nAuthor: {{ .Author }}\n")

stopโ€‹

stop a pipeline

startโ€‹

start a pipeline

--param, -p="": custom parameters to be injected into the step environment. Format: KEY=value

approveโ€‹

approve a pipeline

declineโ€‹

decline a pipeline

queueโ€‹

show pipeline queue

--format="": format output (default: "\x1b[33m{{ .FullName }} #{{ .Number }} \x1b[0m\nStatus: {{ .Status }}\nEvent: {{ .Event }}\nCommit: {{ .Commit }}\nBranch: {{ .Branch }}\nRef: {{ .Ref }}\nAuthor: {{ .Author }} {{ if .Email }}<{{.Email}}>{{ end }}\nMessage: {{ .Message }}\n")

psโ€‹

show pipeline steps

--format="": format output (default: "\x1b[33mStep #{{ .PID }} \x1b[0m\nStep: {{ .Name }}\nState: {{ .State }}\n")

createโ€‹

create new pipeline

--branch="": branch to create pipeline from

--format="": format output (default: "\x1b[33mPipeline #{{ .Number }} \x1b[0m\nStatus: {{ .Status }}\nEvent: {{ .Event }}\nCommit: {{ .Commit }}\nBranch: {{ .Branch }}\nRef: {{ .Ref }}\nAuthor: {{ .Author }} {{ if .Email }}<{{.Email}}>{{ end }}\nMessage: {{ .Message }}\n")

--var="": key=value

logโ€‹

manage logs

purgeโ€‹

purge a log

deployโ€‹

deploy code

--branch="": branch filter (default: "main")

--event="": event filter (default: "push")

--format="": format output (default: "Number: {{ .Number }}\nStatus: {{ .Status }}\nCommit: {{ .Commit }}\nBranch: {{ .Branch }}\nRef: {{ .Ref }}\nMessage: {{ .Message }}\nAuthor: {{ .Author }}\nTarget: {{ .Deploy }}\n")

--param, -p="": custom parameters to be injected into the step environment. Format: KEY=value

--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-namespace="": backend k8s namespace (default: "woodpecker")

--backend-k8s-pod-annotations="": backend k8s additional worker pod annotations

--backend-k8s-pod-image-pull-secret-names="": backend k8s pull secret names for private registries (default: "regcred")

--backend-k8s-pod-labels="": backend k8s additional worker pod labels

--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")

--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="":

--forge-type="":

--forge-url="":

--local: run from local directory

--netrc-machine="":

--netrc-password="":

--netrc-username="":

--network="": external networks

--pipeline-created="": (default: 0)

--pipeline-event="": (default: "manual")

--pipeline-finished="": (default: 0)

--pipeline-number="": (default: 0)

--pipeline-parent="": (default: 0)

--pipeline-started="": (default: 0)

--pipeline-status="":

--pipeline-target="":

--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

--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

--global: global secret

--image="": secret limited to these images

--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

--global: global secret

--image="": secret limited to these images

--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)

repoโ€‹

manage repositories

lsโ€‹

list all repos

--format="": format output (default: "\x1b[33m{{ .FullName }}\x1b[0m (id: {{ .ID }}, forgeRemoteID: {{ .ForgeRemoteID }})")

--org="": filter by organization

infoโ€‹

show repository details

--format="": format output (default: "Owner: {{ .Owner }}\nRepo: {{ .Name }}\nURL: {{ .ForgeURL }}\nConfig path: {{ .Config }}\nVisibility: {{ .Visibility }}\nPrivate: {{ .IsSCMPrivate }}\nTrusted: {{ .IsTrusted }}\nGated: {{ .IsGated }}\nClone url: {{ .Clone }}\nAllow pull-requests: {{ .AllowPullRequests }}\n")

addโ€‹

add a repository

updateโ€‹

update a repository

--config="": repository configuration path (e.g. .woodpecker.yml)

--gated: repository is gated

--pipeline-counter="": repository starting pipeline number (default: 0)

--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: "\x1b[33m{{ .FullName }}\x1b[0m (id: {{ .ID }}, forgeRemoteID: {{ .ForgeRemoteID }})")

userโ€‹

manage users

lsโ€‹

list all users

--format="": format output (default: "{{ .Login }}")

infoโ€‹

show user details

--format="": format output (default: "User: {{ .Login }}\nEmail: {{ .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-url="": 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