.\" Generated by scdoc 1.11.3 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "hut" "1" "2024-06-29" .PP .SH NAME .PP hut - A CLI tool for sr.\&ht .PP .SH SYNOPSIS .PP \fBhut\fR [commands.\&.\&.\&] [options.\&.\&.\&] .PP .SH DESCRIPTION .PP hut is a CLI companion utility to interact with sr.\&ht.\& .PP Resources (such as build jobs, todo tickets, lists patchsets, git repositories, and so on) can be specified in multiple forms: name, owner and name, or full URL.\& For instance, the repository \fIhut\fR owned by \fI~emersion\fR on \fIgit.\&sr.\&ht\fR can be referred to via: .PP .PD 0 .IP \(bu 4 "hut" .IP \(bu 4 "~emersion/hut" .IP \(bu 4 "https://git.\&sr.\&ht/~emersion/hut" .PD .PP Additionally, mailing lists can be referred to by their email address.\& .PP \fIhut\fR commands that read input, like \fBhut graphql\fR or \fBhut builds user-webhook create\fR read input depending on whether their stdin is on a terminal or not: .PP .PD 0 .IP \(bu 4 If stdin is not on a terminal, for example, because stdin is redirected from a file or from a pipe, \fIhut\fR reads input from stdin.\& .PD .PP .PD 0 .IP \(bu 4 Otherwise, if option \fB--stdin\fR is specified to the command, \fIhut\fR reads input from stdin.\& .PD .PP .PD 0 .IP \(bu 4 Otherwise, \fIhut\fR assumes to run in a terminal and starts the command provided by environment variable \fI$EDITOR\fR to read input.\& .PD .PP .SH OPTIONS .PP \fB-h\fR, \fB--help\fR .RS 4 Show help message and quit.\& Can be used after a command to get more information it.\& .PP .RE \fB--config\fR .RS 4 Explicitly select a configuration file that should be used over the default configuration.\& .PP .RE \fB--debug\fR .RS 4 Prints the command'\&s underlying GraphQL request to \fIstderr\fR.\& .PP .RE \fB--instance\fR .RS 4 Select which sr.\&ht instance from the config file should be used.\& By default the first one will be selected.\& .PP .RE .SH COMMANDS .PP \fBhelp\fR .RS 4 Help about any command.\& .PP .RE \fBgraphql\fR .RS 4 Write a GraphQL query and execute it.\& The JSON response is written to stdout.\& \fIservice\fR is the sr.\&ht service to execute the query on (for instance "meta" or "builds").\& .PP A tool like \fBjq\fR(1) can be used to prettify the output and process the data.\& Example: .PP .nf .RS 4 hut graphql meta <= .RS 4 Set a file variable.\& .PP .RE \fB--stdin\fR .RS 4 Read query from \fIstdin\fR.\& .PP .RE \fB-v\fR, \fB--var\fR = .RS 4 Set a raw variable.\& Example: .PP .nf .RS 4 hut graphql meta -v username=emersion <<\&'EOF\&' query($username: String!) { userByName(username: $username) { bio } } EOF .fi .RE .PP .RE .RE \fBinit\fR .RS 4 Initialize hut'\&s configuration file.\& .PP .RE \fBexport\fR [resource|service.\&.\&.\&] .RS 4 Export account data.\& .PP By default, all data of the current user will be exported.\& Alternatively, an explicit list of instance services (e.\&g.\& "todo.\&sr.\&ht") or resources (e.\&g.\& "todo.\&sr.\&ht/~user/tracker") can be specified.\& .PP .RE \fBimport\fR .RS 4 Import account data.\& .PP .RE .SS builds .PP \fBartifacts\fR .RS 4 List artifacts.\& .PP .RE \fBcancel\fR .RS 4 Cancel jobs.\& .PP .RE \fBlist\fR [owner] .RS 4 List jobs.\& .PP .RE \fBresubmit\fR .RS 4 Resubmit a build.\& .PP Options are: .PP \fB-e\fR, \fB--edit\fR .RS 4 Edit manifest with \fI$EDITOR\fR.\& .PP .RE \fB-f\fR, \fB--follow\fR .RS 4 Follow build logs.\& .PP .RE \fB-n\fR, \fB--note\fR .RS 4 Provide a short job description.\& .PP .RE \fB-v\fR, \fB--visibility\fR .RS 4 Visibility to use (public, unlisted, private).\& Defaults to the same visibility used by the original build job.\& .PP .RE .RE \fBsecret list\fR .RS 4 List secrets.\& .PP .RE \fBsecret share\fR .RS 4 Share a secret.\& .PP Options are: .PP \fB-u\fR, \fB--user\fR .RS 4 User with whom to share the secret (required).\& .PP .RE .RE \fBshow\fR [ID] [options.\&.\&.\&] .RS 4 Show job status.\& .PP If no ID is specified, the latest build will be printed.\& .PP Options are: .PP \fB-f\fR, \fB--follow\fR .RS 4 Follow job status.\& .PP .RE .RE \fBssh\fR .RS 4 Connect with SSH to a job.\& .PP .RE \fBsubmit\fR [manifest.\&.\&.\&] [options.\&.\&.\&] .RS 4 Submit a build manifest.\& .PP If no build manifest is specified, build manifests are discovered at \fI.\&build.\&yml\fR and \fI.\&builds/*.\&yml\fR.\& .PP Options are: .PP \fB-e\fR, \fB--edit\fR .RS 4 Edit manifest with \fI$EDITOR\fR.\& .PP .RE \fB-f\fR, \fB--follow\fR .RS 4 Follow build logs.\& .PP .RE \fB-n\fR, \fB--note\fR .RS 4 Provide a short job description.\& .PP .RE \fB-t\fR, \fB--tags\fR .RS 4 Slash separated tags (e.\&g.\& "hut/test").\& .PP .RE \fB-v\fR, \fB--visibility\fR .RS 4 Visibility to use (public, unlisted, private).\& Defaults to unlisted.\& .PP .RE .RE \fBuser-webhook create\fR [options.\&.\&.\&] .RS 4 Create a user webhook.\& .PP Options are: .PP \fB-e\fR, \fB--events\fR .RS 4 List of events that should trigger the webhook (JOB_CREATED).\& Required.\& .PP .RE \fB--stdin\fR .RS 4 Read query from \fIstdin\fR.\& .PP .RE \fB-u\fR, \fB--url\fR .RS 4 The payload URL which receives the \fIPOST\fR request.\& Required.\& .PP .RE .RE \fBuser-webhook delete\fR .RS 4 Delete a user webhook.\& .PP .RE \fBuser-webhook list\fR .RS 4 List user webhooks.\& .PP .RE .SS git .PP Options are: .PP .RS 4 \fB-r\fR, \fB--repo\fR .RS 4 Name of repository.\& .PP .RE .RE \fBacl delete\fR .RS 4 Delete an ACL entry.\& .PP .RE \fBacl list\fR [repo] .RS 4 List ACL entries of a repo.\& Defaults to current repo.\& .PP .RE \fBacl update\fR [options.\&.\&.\&] .RS 4 Update or add an ACL entry for user.\& .PP Options are: .PP \fB-m\fR, \fB--mode\fR .RS 4 Access mode to set (RW, RO).\& .PP .RE .RE \fBartifact delete\fR .RS 4 Delete an artifact.\& .PP .RE \fBartifact list\fR [options.\&.\&.\&] .RS 4 List artifacts.\& .PP .RE \fBartifact upload\fR [options.\&.\&.\&] .RS 4 Upload artifacts.\& .PP Options are: .PP \fB--rev\fR .RS 4 Revision tag.\& Defaults to the last Git tag.\& .PP .RE .RE \fBclone\fR .RS 4 This will clone the repository to \fICWD\fR and try to configure it for \fIgit send-email\fR if possible.\& .PP .RE \fBcreate\fR [options.\&.\&.\&] .RS 4 Create a repository.\& If \fB--clone\fR is not used, the remote URL will be printed to \fIstdout\fR.\& .PP Options are: .PP \fB-c\fR, \fB--clone\fR .RS 4 Clone repository to \fICWD\fR.\& .PP .RE \fB-d\fR, \fB--description\fR .RS 4 Description of the repository.\& .PP .RE \fB--import-url\fR .RS 4 Import the repository from the given URL.\& .PP .RE \fB-v\fR, \fB--visibility\fR .RS 4 Visibility to use (public, unlisted, private).\& Defaults to public.\& .PP .RE .RE \fBdelete\fR [repo] [options.\&.\&.\&] .RS 4 Delete a repository.\& By default the current repo will be deleted.\& .PP Options are: .PP \fB-y\fR, \fB--yes\fR .RS 4 Confirm deletion without prompt.\& .PP .RE .RE \fBlist\fR [owner] .RS 4 List repositories.\& .PP .RE \fBshow\fR [repo] .RS 4 Display information about a repository.\& .PP .RE \fBupdate\fR [repo] [options.\&.\&.\&] .RS 4 Update a repository.\& By default the current repo will be updated.\& .PP Options are: .PP \fB-b\fR, \fB--default-branch\fR .RS 4 Set the default branch.\& .PP .RE \fB-d\fR, \fB--description\fR .RS 4 Set one-line repository description.\& .PP .RE \fB--readme\fR .RS 4 Update the custom README settings.\& You can read the HTML from a file or pass "-" as the filename to read from \fIstdin\fR.\& To clear the custom README use an empty string "".\& .PP .RE \fB-v\fR, \fB--visibility\fR .RS 4 Visibility to use (public, unlisted, private).\& .PP .RE .RE \fBuser-webhook create\fR [options.\&.\&.\&] .RS 4 Create a user webhook.\& .PP Options are: .PP \fB-e\fR, \fB--events\fR .RS 4 List of events that should trigger the webhook (REPO_CREATED, REPO_UPDATE, REPO_DELETED).\& Required.\& .PP .RE \fB--stdin\fR .RS 4 Read query from \fIstdin\fR.\& .PP .RE \fB-u\fR, \fB--url\fR .RS 4 The payload URL which receives the \fIPOST\fR request.\& Required.\& .PP .RE .RE \fBuser-webhook delete\fR .RS 4 Delete a user webhook.\& .PP .RE \fBuser-webhook list\fR .RS 4 List user webhooks.\& .PP .RE .SS hg .PP Options are: .PP .RS 4 \fB-r\fR, \fB--repo\fR .RS 4 Name of repository.\& .PP .RE .RE \fBacl delete\fR .RS 4 Delete an ACL entry.\& .PP .RE \fBacl list\fR [repo] .RS 4 List ACL entries of a repo.\& Defaults to current repo.\& .PP .RE \fBacl update\fR [options.\&.\&.\&] .RS 4 Update or add an ACL entry for user.\& .PP Options are: .PP \fB-m\fR, \fB--mode\fR .RS 4 Access mode to set (RW, RO).\& .PP .RE .RE \fBcreate\fR [options.\&.\&.\&] .RS 4 Create a repository.\& If \fB--clone\fR is not used, the remote URL will be printed to \fIstdout\fR.\& .PP Options are: .PP \fB-c\fR, \fB--clone\fR .RS 4 Clone repository to \fICWD\fR.\& .PP .RE \fB-d\fR, \fB--description\fR .RS 4 Description of the repository.\& .PP .RE \fB-v\fR, \fB--visibility\fR .RS 4 Visibility to use (public, unlisted, private).\& Defaults to public.\& .PP .RE .RE \fBdelete\fR [repo] [options.\&.\&.\&] .RS 4 Delete a repository.\& By default the current repo will be deleted.\& .PP Options are: .PP \fB-y\fR, \fB--yes\fR .RS 4 Confirm deletion without prompt.\& .PP .RE .RE \fBlist\fR [owner] .RS 4 List repositories.\& .PP .RE \fBupdate\fR [repo] [options.\&.\&.\&] .RS 4 Update a repository.\& By default the current repo will be updated.\& .PP Options are: .PP \fB-d\fR, \fB--description\fR .RS 4 Set one-line repository description.\& .PP .RE \fB--non-publishing\fR .RS 4 Controls whether this repository is a non-publishing repository.\& .PP .RE \fB--readme\fR .RS 4 Update the custom README settings.\& You can read the HTML from a file or pass "-" as the filename to read from \fIstdin\fR.\& To clear the custom README use an empty string "".\& .PP .RE \fB-v\fR, \fB--visibility\fR .RS 4 Visibility to use (public, unlisted, private).\& .PP .RE .RE \fBuser-webhook create\fR [options.\&.\&.\&] .RS 4 Create a user webhook.\& .PP Options are: .PP \fB-e\fR, \fB--events\fR .RS 4 List of events that should trigger the webhook (REPO_CREATED, REPO_UPDATE, REPO_DELETED).\& Required.\& .PP .RE \fB--stdin\fR .RS 4 Read query from \fIstdin\fR.\& .PP .RE \fB-u\fR, \fB--url\fR .RS 4 The payload URL which receives the \fIPOST\fR request.\& Required.\& .PP .RE .RE \fBuser-webhook delete\fR .RS 4 Delete a user webhook.\& .PP .RE \fBuser-webhook list\fR .RS 4 List user webhooks.\& .PP .RE .SS lists .PP Options are: .PP .RS 4 \fB-l\fR, \fB--mailing-list\fR .RS 4 Select a mailing list.\& .PP By default, the mailing list configured for the current Git repository will be selected.\& .PP .RE .RE \fBacl delete\fR .RS 4 Delete an ACL entry.\& .PP .RE \fBacl list\fR [list] .RS 4 List ACL entries of a mailing list.\& .PP .RE \fBarchive\fR [list] [options.\&.\&.\&] .RS 4 Download a mailing list archive as an mbox file to \fIstdout\fR.\& .PP Options are: .PP \fB-d\fR, \fB--days\fR .RS 4 Number of last days for which the archive should be downloaded.\& By default the entire archive will be selected.\& .PP .RE .RE \fBcreate\fR [options.\&.\&.\&] .RS 4 Create a mailing list.\& .PP Options are: .PP \fB--stdin\fR .RS 4 Read description from \fIstdin\fR.\& .PP .RE \fB-v\fR, \fB--visibility\fR .RS 4 Visibility to use (public, unlisted, private).\& Defaults to public.\& .PP .RE .RE \fBdelete\fR [list] [options.\&.\&.\&] .RS 4 Delete a mailing list.\& .PP Options are: .PP \fB-y\fR, \fB--yes\fR .RS 4 Confirm deletion without prompt.\& .PP .RE .RE \fBlist\fR [owner] .RS 4 List mailing lists.\& .PP .RE \fBpatchset apply\fR .RS 4 Apply a patchset.\& .PP .RE \fBpatchset list\fR [list] [options.\&.\&.\&] .RS 4 List patchsets in list.\& .PP Options are: .PP \fB-u\fR, \fB--user\fR .RS 4 List patchsets by user instead of by list.\& .PP .RE .RE \fBpatchset show\fR .RS 4 Show a patchset.\& .PP .RE \fBpatchset update\fR .RS 4 Update a patchset.\& .PP Options are: .PP \fB-s\fR, \fB--status\fR .RS 4 Patchset status to set (required).\& .PP .RE .RE \fBsubscribe\fR [list] .RS 4 Subscribe to a mailing list.\& .PP .RE \fBsubscriptions\fR .RS 4 List mailing list subscriptions.\& .PP .RE \fBunsubscribe\fR [list] .RS 4 Unsubscribe from a mailing list.\& .PP .RE \fBupdate\fR [list] [options.\&.\&.\&] .RS 4 Update a mailing list.\& .PP Options are: .PP \fB--description\fR .RS 4 Edit description.\& .PP .RE \fB-v\fR, \fB--visibility\fR .RS 4 Visibility to use (public, unlisted, private).\& .PP .RE .RE \fBuser-webhook create\fR [options.\&.\&.\&] .RS 4 Create a user webhook.\& .PP Options are: .PP \fB-e\fR, \fB--events\fR .RS 4 List of events that should trigger the webhook (LIST_CREATED, LIST_UPDATED, LIST_DELETED, EMAIL_RECEIVED, PATCHSET_RECEIVED).\& Required.\& .PP .RE \fB--stdin\fR .RS 4 Read query from \fIstdin\fR.\& .PP .RE \fB-u\fR, \fB--url\fR .RS 4 The payload URL which receives the \fIPOST\fR request.\& Required.\& .PP .RE .RE \fBuser-webhook delete\fR .RS 4 Delete a user webhook.\& .PP .RE \fBuser-webhook list\fR .RS 4 List user webhooks.\& .PP .RE \fBwebhook create\fR [list] [options.\&.\&.\&] .RS 4 Create a mailing list webhook.\& .PP Options are: .PP \fB-e\fR, \fB--events\fR .RS 4 List of events that should trigger the webhook (LIST_UPDATED, LIST_DELETED, EMAIL_RECEIVED, PATCHSET_RECEIVED).\& Required.\& .PP .RE \fB--stdin\fR .RS 4 Read query from \fIstdin\fR.\& .PP .RE \fB-u\fR, \fB--url\fR .RS 4 The payload URL which receives the \fIPOST\fR request.\& Required.\& .PP .RE .RE \fBwebhook delete\fR .RS 4 Delete a tracker webhook.\& .PP .RE \fBwebhook list\fR [list] .RS 4 List mailing list webhooks.\& .PP .RE .SS meta .PP \fBaudit-log\fR .RS 4 Display your audit log.\& .PP .RE \fBoauth tokens\fR .RS 4 List personal access tokens.\& .PP .RE \fBpgp-key create\fR [path] .RS 4 Upload a PGP public key and associate it with your account.\& .PP The public key must be in the armored format.\& .PP If \fIpath\fR is not specified, the default public key from the local GPG keyring is used.\& .PP .RE \fBpgp-key delete\fR .RS 4 Delete a PGP key from your account.\& .PP .RE \fBpgp-key list\fR [username] [options.\&.\&.\&] .RS 4 List PGP public keys.\& .PP Options are: .PP \fB-r\fR, \fB--raw\fR .RS 4 Only print raw public key .PP .RE .RE \fBshow\fR [username] .RS 4 Show a user'\&s profile.\& .PP If \fIusername\fR is not specified, your profile is displayed.\& .PP .RE \fBssh-key create\fR [path] .RS 4 Upload an SSH public key and associate it with your account.\& .PP If \fIpath\fR is not specified, the default SSH public key is used.\& .PP .RE \fBssh-key delete\fR .RS 4 Delete an SSH public key from your account.\& .PP .RE \fBssh-key list\fR [username] [options.\&.\&.\&] .RS 4 List SSH public keys.\& .PP Options are: .PP \fB-r\fR, \fB--raw\fR .RS 4 Only print raw public key .PP .RE .RE \fBupdate\fR [options.\&.\&.\&] .RS 4 Update account.\& .PP Options are: .PP \fB--bio\fR .RS 4 Edit biography.\& .PP .RE \fB--email\fR .RS 4 Set Email address.\& .PP .RE \fB--location\fR .RS 4 Set location.\& .PP .RE \fB--url\fR .RS 4 Set URL.\& .PP .RE .RE \fBuser-webhook create\fR [options.\&.\&.\&] .RS 4 Create a user webhook.\& .PP Options are: .PP \fB-e\fR, \fB--events\fR .RS 4 List of events that should trigger the webhook (PROFILE_UPDATE, PGP_KEY_ADDED, PGP_KEY_REMOVED, SSH_KEY_ADDED, SSH_KEY_REMOVED).\& Required.\& .PP .RE \fB--stdin\fR .RS 4 Read query from \fIstdin\fR.\& .PP .RE \fB-u\fR, \fB--url\fR .RS 4 The payload URL which receives the \fIPOST\fR request.\& Required.\& .PP .RE .RE \fBuser-webhook delete\fR .RS 4 Delete a user webhook.\& .PP .RE \fBuser-webhook list\fR .RS 4 List user webhooks.\& .PP .RE .SS pages .PP \fBlist\fR .RS 4 List registered sites.\& .PP .RE \fBpublish\fR [file] [options.\&.\&.\&] .RS 4 Publish a website.\& .PP The input \fIfile\fR can be either a gzip tarball or a directory.\& If \fIfile\fR is not specified, standard input is used.\& .PP Options are: .PP \fB-d\fR, \fB--domain\fR .RS 4 Fully qualified domain name.\& .PP .RE \fB-p\fR, \fB--protocol\fR .RS 4 Protocol to use (either HTTPS or GEMINI; defaults to HTTPS) .PP .RE \fB--site-config\fR .RS 4 Path to site configuration file (for e.\&g.\& cache-control).\& .PP .RE \fB-s\fR, \fB--subdirectory\fR .RS 4 If specified, only this subdirectory is updated, the rest of the site is left untouched.\& .PP .RE .RE \fBunpublish\fR [options.\&.\&.\&] .RS 4 Unpublish a website.\& .PP Options are: .PP \fB-d\fR, \fB--domain\fR .RS 4 Fully qualified domain name.\& .PP .RE \fB-p\fR, \fB--protocol\fR .RS 4 Protocol to use (either HTTPS or GEMINI; defaults to HTTPS) .PP .RE .RE \fBuser-webhook create\fR [options.\&.\&.\&] .RS 4 Create a user webhook.\& .PP Options are: .PP \fB-e\fR, \fB--events\fR .RS 4 List of events that should trigger the webhook (SITE_PUBLISHED, SITE_UNPUBLISHED).\& Required.\& .PP .RE \fB--stdin\fR .RS 4 Read query from \fIstdin\fR.\& .PP .RE \fB-u\fR, \fB--url\fR .RS 4 The payload URL which receives the \fIPOST\fR request.\& Required.\& .PP .RE .RE \fBuser-webhook delete\fR .RS 4 Delete a user webhook.\& .PP .RE \fBuser-webhook list\fR .RS 4 List user webhooks.\& .PP .RE .SS paste .PP \fBcreate\fR .RS 4 Create a new paste.\& .PP Options are: .PP \fB-v\fR, \fB--visibility\fR .RS 4 Visibility to use (public, unlisted, private).\& Defaults to unlisted.\& .PP .RE \fB-n\fR, \fB--name\fR .RS 4 Name of the created paste.\& Only valid when reading from stdin.\& .PP .RE .RE \fBdelete\fR .RS 4 Delete pastes.\& .PP .RE \fBlist\fR .RS 4 List pastes.\& .PP .RE \fBshow\fR .RS 4 Display a paste.\& .PP .RE \fBupdate\fR [options.\&.\&.\&] .RS 4 Update a paste'\&s visibility.\& .PP Options are: .PP \fB-v\fR, \fB--visibility\fR .RS 4 Visibility to use (public, unlisted, private) .PP .RE .RE \fBuser-webhook create\fR [options.\&.\&.\&] .RS 4 Create a user webhook.\& .PP Options are: .PP \fB-e\fR, \fB--events\fR .RS 4 List of events that should trigger the webhook (PASTE_CREATED, PASTE_UPDATED, PASTE_DELETED).\& Required.\& .PP .RE \fB--stdin\fR .RS 4 Read query from \fIstdin\fR.\& .PP .RE \fB-u\fR, \fB--url\fR .RS 4 The payload URL which receives the \fIPOST\fR request.\& Required.\& .PP .RE .RE \fBuser-webhook delete\fR .RS 4 Delete a user webhook.\& .PP .RE \fBuser-webhook list\fR .RS 4 List user webhooks.\& .PP .RE .SS todo .PP Options are: .PP .RS 4 \fB-t\fR, \fB--tracker\fR .RS 4 Name of tracker.\& .PP .RE .RE \fBacl delete\fR .RS 4 Delete an ACL entry.\& .PP .RE \fBacl list\fR [tracker] .RS 4 List ACL entries of a tracker.\& .PP .RE \fBcreate\fR [options.\&.\&.\&] .RS 4 Create a tracker.\& .PP Options are: .PP \fB--stdin\fR .RS 4 Read description from \fIstdin\fR.\& .PP .RE \fB-v\fR, \fB--visibility\fR .RS 4 Visibility to use (public, unlisted, private).\& Defaults to public.\& .PP .RE .RE \fBdelete\fR [tracker] [options.\&.\&.\&] .RS 4 Delete a tracker.\& .PP Options are: .PP \fB-y\fR, \fB--yes\fR .RS 4 Confirm deletion without prompt.\& .PP .RE .RE \fBlabel create\fR [options.\&.\&.\&] .RS 4 Create a label.\& .PP Options are: .PP \fB-b\fR, \fB--background\fR .RS 4 Background color in hex format (required).\& .PP .RE \fB-f\fR, \fB--foreground\fR .RS 4 Foreground color in hex format.\& If omitted either black or white will be selected for an optimized contrast.\& .PP .RE .RE \fBlabel delete\fR .RS 4 Delete a label.\& .PP .RE \fBlabel list\fR .RS 4 List labels.\& .PP .RE \fBlabel update\fR [options.\&.\&.\&] .RS 4 Update a label.\& .PP Options are: .PP \fB-b\fR, \fB--background\fR .RS 4 Background color in hex format.\& .PP .RE \fB-f\fR, \fB--foreground\fR .RS 4 Foreground color in hex format.\& .PP .RE \fB-n\fR, \fB--name\fR .RS 4 New label name.\& .PP .RE .RE \fBlist\fR [owner] .RS 4 List trackers.\& .PP .RE \fBsubscribe\fR [tracker] .RS 4 Subscribe to a tracker.\& .PP .RE \fBticket assign\fR [options.\&.\&.\&] .RS 4 Assign a user to a ticket.\& .PP Options are: .PP \fB-u\fR, \fB--user\fR .RS 4 Username of the new assignee (required).\& .PP .RE .RE \fBticket comment\fR [options.\&.\&.\&] .RS 4 Comment on a ticket.\& .PP Options are: .PP \fB-r\fR, \fB--resolution\fR .RS 4 Resolution for resolved tickets.\& If status is omitted, it will be set to \fIRESOLVED\fR.\& .PP .RE \fB-s\fR, \fB--status\fR .RS 4 New ticket status.\& If set to \fIRESOLVED\fR, resolution will default to \fICLOSED\fR.\& .PP .RE \fB--stdin\fR .RS 4 Read comment from \fIstdin\fR.\& .PP .RE .RE \fBticket create\fR [options.\&.\&.\&] .RS 4 Create a new ticket.\& .PP Options are: .PP \fB--stdin\fR .RS 4 Read ticket from \fIstdin\fR.\& .PP .RE .RE \fBticket delete\fR [options.\&.\&.\&] .RS 4 Delete a ticket.\& .PP Options are: .PP \fB-y\fR, \fB--yes\fR .RS 4 Confirm deletion without prompt.\& .PP .RE .RE \fBticket edit\fR .RS 4 Edit a ticket.\& .PP .RE \fBticket label\fR [options.\&.\&.\&] .RS 4 Add a label to a ticket.\& .PP Options are: .PP \fB-l\fR, \fB--label\fR .RS 4 Name of the label (required).\& .PP .RE .RE \fBticket list\fR [options.\&.\&.\&] .RS 4 List tickets.\& .PP Options are: .PP \fB-s\fR, \fB--status\fR .RS 4 Filter by ticket status.\& .PP .RE .RE \fBticket show\fR .RS 4 Display a ticket.\& .PP .RE \fBticket subscribe\fR .RS 4 Subscribe to a ticket.\& .PP .RE \fBticket unassign\fR [options.\&.\&.\&] .RS 4 Unassign a user from a ticket.\& .PP Options are: .PP \fB-u\fR, \fB--user\fR .RS 4 Username of the assignee (required).\& .PP .RE .RE \fBticket unlabel\fR [options.\&.\&.\&] .RS 4 Remove a label from a ticket.\& .PP Options are: .PP \fB-l\fR, \fB--label\fR .RS 4 Name of the label (required).\& .PP .RE .RE \fBticket unsubscribe\fR .RS 4 Unsubscribe from a ticket.\& .PP .RE \fBticket update-status\fR [options.\&.\&.\&] .RS 4 Update status of a ticket.\& .PP Options are: .PP \fB-r\fR, \fB--resolution\fR .RS 4 Resolution for resolved tickets (required if status \fIRESOLVED\fR is used).\& If status is omitted, it will be set to \fIRESOLVED\fR.\& .PP .RE \fB-s\fR, \fB--status\fR .RS 4 New ticket status.\& .PP .RE .RE \fBticket webhook create\fR [options.\&.\&.\&] .RS 4 Create a ticket webhook.\& .PP Options are: .PP \fB-e\fR, \fB--events\fR .RS 4 List of events that should trigger the webhook (EVENT_CREATED, TICKET_UPDATE, TICKET_DELETED).\& Required.\& .PP .RE \fB--stdin\fR .RS 4 Read query from \fIstdin\fR.\& .PP .RE \fB-u\fR, \fB--url\fR .RS 4 The payload URL which receives the \fIPOST\fR request.\& Required.\& .PP .RE .RE \fBticket webhook delete\fR .RS 4 Delete a ticket webhook.\& .PP .RE \fBticket webhook list\fR .RS 4 List ticket webhooks.\& .PP .RE \fBunsubscribe\fR [tracker] .RS 4 Unsubscribe from a tracker.\& .PP .RE \fBupdate\fR [tracker] [options.\&.\&.\&] .RS 4 Update a tracker.\& .PP Options are: .PP \fB--description\fR .RS 4 Edit description.\& .PP .RE \fB-v\fR, \fB--visibility\fR .RS 4 Visibility to use (public, unlisted, private).\& .PP .RE .RE \fBuser-webhook create\fR [options.\&.\&.\&] .RS 4 Create a user webhook.\& .PP Options are: .PP \fB-e\fR, \fB--events\fR .RS 4 List of events that should trigger the webhook (TRACKER_CREATED, TRACKER_UPDATE, TRACKER_DELETED, TICKET_CREATED).\& Required.\& .PP .RE \fB--stdin\fR .RS 4 Read query from \fIstdin\fR.\& .PP .RE \fB-u\fR, \fB--url\fR .RS 4 The payload URL which receives the \fIPOST\fR request.\& Required.\& .PP .RE .RE \fBuser-webhook delete\fR .RS 4 Delete a user webhook.\& .PP .RE \fBuser-webhook list\fR .RS 4 List user webhooks.\& .PP .RE \fBwebhook create\fR [tracker] [options.\&.\&.\&] .RS 4 Create a tracker webhook.\& .PP Options are: .PP \fB-e\fR, \fB--events\fR .RS 4 List of events that should trigger the webhook (TRACKER_UPDATE, TRACKER_DELETED, LABEL_CREATED, LABEL_UPDATE, LABEL_DELETED, TICKET_CREATED, TICKET_UPDATE, TICKET_DELETED, EVENT_CREATED).\& Required.\& .PP .RE \fB--stdin\fR .RS 4 Read query from \fIstdin\fR.\& .PP .RE \fB-u\fR, \fB--url\fR .RS 4 The payload URL which receives the \fIPOST\fR request.\& Required.\& .PP .RE .RE \fBwebhook delete\fR .RS 4 Delete a tracker webhook.\& .PP .RE \fBwebhook list\fR [tracker] .RS 4 List tracker webhooks.\& .PP .RE .SH CONFIGURATION .PP Generate a new OAuth2 access token on \fImeta.\&sr.\&ht\fR.\& .PP On startup hut will look for a file at \fB$XDG_CONFIG_HOME/hut/config\fR.\& If unset, \fI$XDG_CONFIG_HOME\fR defaults to \fB~/.\&config/\fR.\& .PP .nf .RS 4 instance "sr\&.ht" { access-token "" # As an alternative you can specify a command whose first line of output # will be parsed as the token access-token-cmd pass token meta { # You can set the origin for each service\&. As fallback hut will # construct the origin from the instance name and the service\&. origin "https://meta\&.sr\&.ht" } } .fi .RE .PP .SH Project configuration file .PP The project configuration file is a top-level file called \fI.\&hut.\&scfg\fR in a repository, where the assosciated tracker and development mailing list can be specified.\& These resources will be used whenever a command is called which needs a tracker/mailing list and none is explicitly set.\& Furthermore it is possible to configure that patches should contain the repository name in their prefix.\& The \fIhut git clone\fR command will configure a freshly cloned repository to make contributing easier.\& .PP .nf .RS 4 tracker https://todo\&.sr\&.ht/~xenrox/hut development-mailing-list ~xenrox/hut-dev@lists\&.sr\&.ht patch-prefix false .fi .RE .PP .SH AUTHORS .PP Originally written by Simon Ser .\& Currently maintained by Thorben Günther , who is assisted by other open-source contributors.\& For more information about hut development, see .\&