5.9 KiB
Instance: webhooks, wiki, keys, API, config, admin
Instance- and account-level commands. gt <cmd> --help is authoritative.
Global flags are in SKILL.md.
webhook
gt webhook <command>
create delete edit list view
Scope: repository (default), organization (--org), your account (--account),
or the instance (--global, administrators). Delivery URLs often carry
credentials, so gt shows them without user info and query (and without the path
for chat services); view --reveal-url shows a URL whole. Signing secrets and
authorization headers are never shown.
JSON fields: active, branch_filter, content_type, created_at, events, id, type, updated_at, url.
create [<url>] [--url URL] [--type {gitea|gogs|slack|discord|dingtalk|telegram|msteams|feishu|matrix|wechatwork|packagist}] [--events push,issues,...] [--branch-filter glob] [--active[=false]] [--secret-file file|-] [--authorization-header-file file|-] [--config k=v]list [-L n] [--page n](aliasls)view <id> [--reveal-url],edit <id>,delete <id>
Events include: create, delete, fork, push, issues, issues_only, issue_assign, issue_label, issue_milestone, issue_comment, pull_request, pull_request_only, pull_request_assign, pull_request_label, pull_request_milestone, pull_request_comment, pull_request_review, pull_request_sync, pull_request_review_request, wiki, repository, release, package, status, workflow_run, workflow_job.
gt webhook create https://ci.example.com/hook --events push,pull_request --secret-file secret.txt
gt webhook list --org acme
gt webhook view 3 --reveal-url
wiki
gt wiki <command>
create delete edit list revisions view
JSON fields (page): author, body, commit_count, footer, sha, sidebar, title, updated_at, url; list returns author, sha, title, updated_at, url.
create [<title>] [-t title] [-b body] [-F file|-] [-e] [-m message]edit <title> [...],view <title>,delete <title>,list [-L n] [--page n](aliasls),revisions <title> [--page n]
gt wiki create "Getting Started" --body-file docs/start.md
gt wiki list -R alice/project --json title,url
gt wiki view Home
ssh-key
gt ssh-key <command>
create delete list view
Manage the SSH public keys of your account. create aliases add; list
aliases ls.
JSON fields: created_at, fingerprint, id, key, read_only, title.
create [<file>|-] [-t|--title TITLE]— without a file, reads stdin; the title defaults to the key comment, then the computer's name.list [-L n] [--page n],view <id>,delete <id>
gt ssh-key add ~/.ssh/id_ed25519.pub --title "Work laptop"
gt ssh-key list --json title,fingerprint
api
gt api <endpoint> [flags]
Authenticated request to the instance API (path under /api/v1, or a full API
URL). {owner}, {repo} expand to the selected repository; {branch} to the
checked-out branch.
| Flag | Meaning |
|---|---|
-X, --method |
HTTP method (default GET; POST when a body is supplied) |
-f, --raw-field k=v |
String parameter (query for GET/HEAD, JSON body otherwise) |
-F, --field k=v |
Typed value: true/false/null, numbers, arrays, @FILE, @- |
-H, --header name:value |
Request header |
--input file |
Request body from a file, or - |
--paginate, --max-pages n |
Follow next-page links / list paging |
-i, --include |
Print status/headers to stderr |
--output-file file |
Write the whole response to a file |
--jq expr |
Filter each JSON response (jq not required) |
--silent, --verbose |
No body / request+response to stderr |
Non-2xx responses print the body and fail with the HTTP status.
gt api repos/{owner}/{repo}/issues -f state=open
gt api user -F name=alice -F admin=true
gt api repos/{owner}/{repo}/branches --paginate --jq '.[].name'
config
gt config <command>
get list path set
Preferences live in config.yml, instance settings in hosts.yml, in the
configuration directory ($GITEA_CLI_CONFIG_DIR, else gitea-cli under the XDG
config dir). gt config path prints both files.
get <key> [--show-source],list(aliasls, add--hostfor instance settings),set <key> <value> [--host URL] [--user NAME].- Keys:
default_host,git_protocol,editor,prompt,pager,browser,color,hyperlinks,markdown,remote,http_timeout; instance:user,ssh_host,insecure,git_protocol,oauth_client_id,headers,client_cert,client_key; account:ssh_key,ssh_agent,ssh_certificate_principal,ssh_key_fingerprint.
gt config path
gt config set editor "code --wait"
gt config set ssh_host git.example.com:2222 --host https://example.com
gt config get default_host --show-source
alias
gt alias <command>
delete list set
An alias expands to a gt command with arguments, before gt runs it. $1,
$2, ... take positional arguments; other arguments follow the expansion. No
shell is run; built-in commands always win over an alias of the same name.
set <name> <expansion> [--clobber]list(aliasls),delete [<name>...] [--all](aliasrm)
gt alias set il "issue list --label bug"
gt alias set review 'pr review $1 --approve'
gt alias list
completion
gt completion <command>
bash fish powershell zsh
Generate the shell completion script. Completion offers --json field names.
gt completion bash > /etc/bash_completion.d/gt
gt completion zsh > "${fpath[1]}/_gt"
admin
gt admin <command>
user (list, view, create, edit, delete)
Instance administration; requires an administrator account. (--sudo user on
other commands acts as another user.) JSON: active, admin, created_at, description, email, full_name, id, location, prohibit_login, restricted, url, username, visibility, website.
gt admin user list
gt admin user list --query bob
gt admin user create alice --email alice@example.com