slacksend/README.md
2025-12-24 23:41:54 +09:00

149 lines
2.7 KiB
Markdown

# slacksend
Slackにメッセージを送信するツール
- [slacksend](#slacksend)
- [Environments](#environments)
- [Functions](#functions)
- [How To Use](#how-to-use)
- [Develop](#develop)
- [Init](#init)
- [Aiuto Docs](#aiuto-docs)
- [Markdown](#markdown)
- [Webserver](#webserver)
- [Deploy](#deploy)
- [ローカルへインストールする](#ローカルへインストールする)
- [aptパッケージを作成する](#aptパッケージを作成する)
## Environments
Slack Appで`Incoming Webhook`を有効にする必要があります。
[Slack App](https://api.slack.com/apps)はこちらからどうぞ
* 参考記事: https://qiita.com/to3izo/items/c2d16f8b3e52b09e543e
## Functions
* Slackのチャンネルにメッセージを送信する
* Incoming Webhookに対応
* `SLACK_WEBHOOK_URL` : URLを指定する
* `--title`: タイトルを設定する
* 現在の仕様ではチャンネル設定はできません。
* 宛先によりチャンネルを設定します。
---
## How To Use
Incoming Webhookでメッセージを送信する場合
```sh
export SLACK_WEBHOOK_URL="https://hooks.slack.com/services/XXX/YYY/ZZZ"
slacksend --title "タイトル" "本文を指定してください"
```
## Develop
実行
```sh
go run ./cmd/slacksend
```
ビルド
```sh
go build -o slacksend ./cmd/slacksend
```
### Init
```sh
go mod init gitea.pglikers.com/tools/slacksen
```
### Aiuto Docs
#### Markdown
`gomarkdoc`のInstallが必要です
```sh
go install github.com/princjef/gomarkdoc/cmd/gomarkdoc@latest
gomarkdoc ./... > docs/api.md
```
#### Webserver
`pkgsite`のInstallが必要です
```sh
go install golang.org/x/pkgsite/cmd/pkgsite@latest
pkgsite
```
## Deploy
```sh
make build
# go build -o bin/slacksend ./cmd/slacksend
```
デバッグ情報を削ってビルドする場合
```sh
go build -o bin/slacksend \
-ldflags "-s -w" \
./cmd/slacksend
```
ビルド時にGit情報を埋め込む方法
```sh
VERSION=$(git describe --tags --always --dirty)
COMMIT=$(git rev-parse --short HEAD)
DATE=$(date +"%Y-%m-%d")
go build \
-ldflags "\
-X main.version=$VERSION \
-X main.commit=$COMMIT \
-X main.date=$DATE" \
-o slacksend \
./cmd/slacksend
```
### ローカルへインストールする
インストールする
```sh
go install ./cmd/slacksend
slacksend -v
# Goのルートを確認する
go env GOPATH
```
`~/go/bin``PATH`に入ってない場合は .zshrcに設定する
```sh
vim ~/.zshrc
export PATH="$(go env GOPATH)/bin:$PATH"
```
アンインストール方法
```sh
which slacksend
# パスにあるバイナリファイルを削除する
rm /Users/xxx/go/bin/slacksend
```
### aptパッケージを作成する