Markdown共有ガイド / API・curl・GitHub Actions
API・curl・GitHub ActionsでMarkdownを公開する方法
公開APIへMarkdown本文を1回POSTすると、ブラウザで閲覧できる完成URLが返ります。アカウントとAPIキーは不要です。繰り返し使う場合は、入力上限と作成回数制限を守り、成功時のURLを処理結果として保存します。
1. curlでMarkdownファイルを公開する
curl --fail-with-body --request POST \
'https://markdown.bz/api/v1/documents' \
--header 'Content-Type: text/markdown; charset=utf-8' \
--data-binary '@README.md'Content-Type: text/markdownで送る最短例です。タイトルは最初のMarkdown見出し、期限は無期限、パスワードなしになります。成功時は201 CreatedとJSONが返ります。
2. 期限やタイトルをJSONで指定する
curl --fail-with-body --request POST \
'https://markdown.bz/api/v1/documents' \
--header 'Content-Type: application/json' \
--data '{
"markdown": "# CIレポート\n\nテストは成功しました。",
"title": "CIレポート",
"expiryDays": 7
}'expiryDaysはnull(無期限)または3、7、30、60、100です。省略時は無期限です。閲覧パスワードも指定できますが、シェル履歴やCIログへ平文で残さず、環境変数やActions secretsを使ってください。
3. 公式CLIを使う
公開リポジトリ743starlight/markdownbz-examplesには、外部依存なしのNode.js CLI、curl・Nodeサンプル、テスト、MITライセンスがあります。
git clone https://github.com/743starlight/markdownbz-examples.git
cd markdownbz-examples
node bin/markdownbz.mjs README.md
# 7日間で公開
node bin/markdownbz.mjs report.md --expiry-days 7CLIは成功時に完成URLだけを標準出力へ返すため、シェル変数へ受け取れます。
public_url="$(node bin/markdownbz.mjs report.md --expiry-days 7)"
printf '%s\n' "$public_url"4. GitHub Actionsから公開する
permissions:
contents: read
steps:
- uses: actions/checkout@v7
- id: publish
uses: 743starlight/markdownbz-examples@v1
with:
markdown-path: report.md
expiry-days: '7'
- run: echo "${{ steps.publish.outputs.public-url }}"Actionのpublic-url出力が完成URLです。公開処理をpushのたびに自動実行すると不要な文書が増えるため、成果物が確定したジョブ、リリース、手動実行など必要なタイミングへ限定してください。
5. レスポンスの完成URLを利用する
{
"slug": "AbCdEf1234567890",
"publicUrl": "https://markdown.bz/d/AbCdEf1234567890",
"expiresAt": null
}publicUrl: 人へ渡す完成URLslug: 共有文書の識別子expiresAt: 無期限ではnull、期限付きではISO 8601日時
AIへMarkdown原文を渡す場合は、完成URLの末尾に/rawを付けます。詳しくはAIへMarkdown共有URLを渡す方法を参照してください。
6. 失敗時の確認
| HTTP | 確認点 |
|---|---|
| 400 | JSON、期限、タイトル、パスワードの値 |
| 413 | Markdownが1MB以内か、JSONリクエストが過大でないか |
| 415 | application/jsonまたはtext/markdownか |
| 429 | Retry-Afterを待ち、同時・連続送信を減らす |
| 500 / 503 | 時間を置いて限定回数だけ再試行する |
再送信は同じ文書を上書きせず、新しい共有URLを作成します。タイムアウト後に再試行する処理では、重複URLが発生しうることを考慮してください。完全な仕様はAPIドキュメントとOpenAPI 3.1で確認できます。
最終確認日: / 確認: markdown共有ツール運営