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