# 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パッケージを作成する