Notify JIRA activity to Slack
JIRA の Activity Streams を Slack へ通知する
Slack Integration や RSS が用意されているが、何かしらの理由で利用できない場合の代替策。
- python 3.9+
- docker
# ダウンロード
git clone https://github.com/htnosm/jira2slack.git
cd jira2slack
# 設定ファイル作成
## 未指定項目は default.yml の値が使用される
cat <<_EOF > jira2slack/etc/TESTPJ.yml
jira_key: 'Your JIRA Project Key'
jira_url: 'https://jira.example.com'
auth_user: 'Your Username'
auth_password: 'Your API Token'
slack_webhook_url: 'Your Slack Incoming Webhook URL'
slack_channel: 'Your Slack Channel # e.g.) "#general'
_EOF
# 起動 (バックグラウンド -d 可)
docker-compose up
# 停止
docker-compose down
pip install -r jira2slack/requirements.txt
./jira2slack/src/docker-entrypoint.sh
cat <<_EOF > ./jira2slack/var/last_publish.TESTPJ.json
{
"ts": $(date +'%s')
}
_EOF
<msg name="gadget.activity.stream.error.loading.feed">最近のアクティビティを取得しようとしたときにエラーが発生しました。</msg>
- Invalid Character Causing Activity Stream Not Rendering Properly (Invalid white space character in text to output) - Atlassian Documentation
- 特殊文字( "<",">" ?) を含んだ場合に rss 不正で取得不可となる
- IncompleteRead を Catch、取得行数減らして再試行する処理を追加済