困っていること
Nuxtアプリケーションのあるボタンを押したときに、github API を叩いて、 Github Actions
の dispatch
イベントを発火させたいが404になってしまう。
具体的にはアプリ上のブログ作成のボタンを押したときに、github上のソースコードをジェネレートしなおしてfirebaseにデプロイしたいです。
参考にしたサイトなどはこちらです。
Github Actions を API から実行する
GitHub Actions で手動トリガーのワークフローを作る
下記のコードで、何が間違っているのでしょうか・・・?
github上で personal access token
も発行していて、コードの myToken
の箇所に代入しています。
スコープはよくわからなかったので、全部チェックしました。
色々調べていると、認証に失敗している場合も404を返しますというようなのを見かけたりもしたのですが、このコードで認証のしかたなど間違っている箇所はございますでしょうか・・
また.ymlのファイルなど、今回初めて書いたので、そこも間違っているかもしれません。
あと、関係あるかわかりませんが、リポジトリはprivateです。
同じ手順でパブリックリポジトリでも試しましたがダメでした…
該当コード / エラーメッセージ
ymlファイル
yml
1on: 2 repository_dispatch: 3 types: [test_trigger] 4jobs: 5 build-deploy: 6 runs-on: ubuntu-latest 7 8 strategy: 9 matrix: 10 node-version: [12.x] 11 12 steps: 13 - uses: actions/checkout@v2 14 - name: Use Node.js ${{ matrix.node-version }} 15 uses: actions/setup-node@v1 16 with: 17 node-version: ${{ matrix.node-version }} 18 - run: npm ci 19 - run: npm run generate 20 env: 21 CI: true 22 - name: deploy to firebase hosting 23 uses: w9jds/firebase-action@master 24 with: 25 args: deploy --only hosting 26 env: 27 FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
Nuxt側のコード
// 通るかテストのためcreatedに書いています。 created() { this.$axios.$post("https://api.github.com/repos/myname/reponame/dispatches", { headers: { Authorization: `token ${myToken}`, Accept: "application/vnd.github.everest-preview+json" }, data: { event_type: "test_trigger" } }) .then(() => { console.log("success") }) .catch(e => { console.log(e) }) }
** エラーメッセージ**
Error: Request failed with status code 404 at createError (createError.js?2d83:16) at settle (settle.js?467f:17) at XMLHttpRequest.handleLoad (xhr.js?b50d:61)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。