Docs
This commit is contained in:
		
							parent
							
								
									a160da3ad9
								
							
						
					
					
						commit
						26fda847ca
					
				
					 5 changed files with 75 additions and 1 deletions
				
			
		|  | @ -35,7 +35,7 @@ var flagsPublish = append( | |||
| 	&cli.StringFlag{Name: "email", Aliases: []string{"mail", "e"}, EnvVars: []string{"NTFY_EMAIL"}, Usage: "also send to e-mail address"}, | ||||
| 	&cli.StringFlag{Name: "user", Aliases: []string{"u"}, EnvVars: []string{"NTFY_USER"}, Usage: "username[:password] used to auth against the server"}, | ||||
| 	&cli.IntFlag{Name: "wait-pid", Aliases: []string{"pid"}, EnvVars: []string{"NTFY_WAIT_PID"}, Usage: "wait until PID exits before publishing"}, | ||||
| 	&cli.BoolFlag{Name: "wait-cmd", Aliases: []string{"cmd", "done"}, EnvVars: []string{"NTFY_WAIT_CMD"}, Usage: "run and wait until command finishes before publishing"}, | ||||
| 	&cli.BoolFlag{Name: "wait-cmd", Aliases: []string{"cmd", "done"}, EnvVars: []string{"NTFY_WAIT_CMD"}, Usage: "run command and wait until it finishes before publishing"}, | ||||
| 	&cli.BoolFlag{Name: "no-cache", Aliases: []string{"C"}, EnvVars: []string{"NTFY_NO_CACHE"}, Usage: "do not cache message server-side"}, | ||||
| 	&cli.BoolFlag{Name: "no-firebase", Aliases: []string{"F"}, EnvVars: []string{"NTFY_NO_FIREBASE"}, Usage: "do not forward message to Firebase"}, | ||||
| 	&cli.BoolFlag{Name: "env-topic", Aliases: []string{"P"}, EnvVars: []string{"NTFY_ENV_TOPIC"}, Usage: "use topic from NTFY_TOPIC env variable"}, | ||||
|  |  | |||
							
								
								
									
										8
									
								
								cmd/publish_linux.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								cmd/publish_linux.go
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | |||
| package cmd | ||||
| 
 | ||||
| import "syscall" | ||||
| 
 | ||||
| func processExists(pid int) bool { | ||||
| 	err := syscall.Kill(pid, syscall.Signal(0)) | ||||
| 	return err == nil | ||||
| } | ||||
|  | @ -8,6 +8,7 @@ and the [ntfy Android app](https://github.com/binwiederhier/ntfy-android/release | |||
| 
 | ||||
| **Features:** | ||||
| 
 | ||||
| * ntfy CLI can now [wait for a command or PID](https://ntfy.sh/docs/subscribe/cli/#wait-for-pidcommand) before publishing ([#263](https://github.com/binwiederhier/ntfy/issues/263), thanks to the [original ntfy](https://github.com/dschep/ntfy) for the idea)  | ||||
| * Trace: Log entire HTTP request to simplify debugging (no ticket) | ||||
| * Allow setting user password via `NTFY_PASSWORD` env variable ([#327](https://github.com/binwiederhier/ntfy/pull/327), thanks to [@Kenix3](https://github.com/Kenix3)) | ||||
| 
 | ||||
|  |  | |||
|  | @ -56,6 +56,71 @@ quick ones: | |||
|     ntfy pub mywebhook | ||||
|     ``` | ||||
| 
 | ||||
| ### Attaching a local file | ||||
| You can easily upload and attach a local file to a notification: | ||||
| 
 | ||||
| ``` | ||||
| $ ntfy pub --file README.md mytopic | jq . | ||||
| { | ||||
|   "id": "meIlClVLABJQ", | ||||
|   "time": 1655825460, | ||||
|   "event": "message", | ||||
|   "topic": "mytopic", | ||||
|   "message": "You received a file: README.md", | ||||
|   "attachment": { | ||||
|     "name": "README.md", | ||||
|     "type": "text/plain; charset=utf-8", | ||||
|     "size": 2892, | ||||
|     "expires": 1655836260, | ||||
|     "url": "https://ntfy.sh/file/meIlClVLABJQ.txt" | ||||
|   } | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| ### Wait for PID/command | ||||
| If you have a long-running command, you may wrap it directly with `ntfy publish --wait-cmd`, | ||||
| or if you forgot to wrap it and it's already running, wait for the process to complete with | ||||
| `ntfy publish --wait-pid`. | ||||
| 
 | ||||
| Run a command and wait for it to complete (here: `rsync ...`): | ||||
| 
 | ||||
| ``` | ||||
| $ ntfy pub --wait-cmd mytopic rsync -av ./ root@example.com:/backups/ | jq . | ||||
| { | ||||
|   "id": "Re0rWXZQM8WB", | ||||
|   "time": 1655825624, | ||||
|   "event": "message", | ||||
|   "topic": "mytopic", | ||||
|   "message": "Command succeeded after 56.553s: rsync -av ./ root@example.com:/backups/" | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| Or, if you already started the long-running process and want to wait for it, you can do this: | ||||
| 
 | ||||
| === "Using a PID directly" | ||||
|     ``` | ||||
|     $ ntfy pub --wait-pid 8458 mytopic | jq . | ||||
|     { | ||||
|       "id": "orM6hJKNYkWb", | ||||
|       "time": 1655825827, | ||||
|       "event": "message", | ||||
|       "topic": "mytopic", | ||||
|       "message": "Process with PID 8458 exited after 2.003s" | ||||
|     } | ||||
|     ``` | ||||
| 
 | ||||
| === "Using a `pidof`" | ||||
|     ``` | ||||
|     $ ntfy pub --wait-pid $(pidof rsync) mytopic | jq . | ||||
|     { | ||||
|       "id": "orM6hJKNYkWb", | ||||
|       "time": 1655825827, | ||||
|       "event": "message", | ||||
|       "topic": "mytopic", | ||||
|       "message": "Process with PID 8458 exited after 2.003s" | ||||
|     } | ||||
|     ``` | ||||
| 
 | ||||
| ## Subscribe to topics | ||||
| You can subscribe to topics using `ntfy subscribe`. Depending on how it is called, this command | ||||
| will either print or execute a command for every arriving message. There are a few different ways  | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue