feat: GitHub Discussions・Discord・X への一斉アナウンス workflow 追加
This commit is contained in:
parent
804800b15e
commit
f9c30be093
69
.github/workflows/announce.yml
vendored
Normal file
69
.github/workflows/announce.yml
vendored
Normal file
@ -0,0 +1,69 @@
|
||||
name: Announce
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
title:
|
||||
description: "タイトル"
|
||||
required: true
|
||||
type: string
|
||||
body:
|
||||
description: "本文(Markdown可、X向けには自動でプレーンテキスト化)"
|
||||
required: true
|
||||
type: string
|
||||
channels:
|
||||
description: "投稿先"
|
||||
required: true
|
||||
type: choice
|
||||
default: "all"
|
||||
options:
|
||||
- all
|
||||
- discussions
|
||||
- discord
|
||||
- twitter
|
||||
|
||||
jobs:
|
||||
discussions:
|
||||
if: inputs.channels == 'all' || inputs.channels == 'discussions'
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
discussions: write
|
||||
steps:
|
||||
- name: Post to GitHub Discussions
|
||||
uses: abirber/github-create-discussion@v6
|
||||
with:
|
||||
title: ${{ inputs.title }}
|
||||
body: ${{ inputs.body }}
|
||||
repository-id: ${{ github.event.repository.node_id }}
|
||||
category-name: "Announcements"
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
discord:
|
||||
if: inputs.channels == 'all' || inputs.channels == 'discord'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Post to Discord
|
||||
env:
|
||||
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
|
||||
TITLE: ${{ inputs.title }}
|
||||
BODY: ${{ inputs.body }}
|
||||
run: |
|
||||
jq -n \
|
||||
--arg title "$TITLE" \
|
||||
--arg desc "$BODY" \
|
||||
'{embeds: [{title: $title, description: $desc, color: 5814783}]}' \
|
||||
| curl -sf -X POST -H "Content-Type: application/json" -d @- "$DISCORD_WEBHOOK_URL"
|
||||
|
||||
twitter:
|
||||
if: inputs.channels == 'all' || inputs.channels == 'twitter'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Post to X
|
||||
uses: ethomson/send-tweet-action@v2
|
||||
with:
|
||||
status: "${{ inputs.title }}\n\n${{ inputs.body }}"
|
||||
consumer-key: ${{ secrets.TWITTER_CONSUMER_API_KEY }}
|
||||
consumer-secret: ${{ secrets.TWITTER_CONSUMER_API_SECRET }}
|
||||
access-token: ${{ secrets.TWITTER_ACCESS_TOKEN }}
|
||||
access-token-secret: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
|
||||
Loading…
x
Reference in New Issue
Block a user