LoginSignup
16
8

More than 3 years have passed since last update.

! [remote rejected] master -> master (refusing to allow an OAuth App to create or update workflow .github/workflows/* without workflow scope)の対処方法

Last updated at Posted at 2020-12-14

はじめに

下記のエラーに遭遇しましたので、解決方法を記録、共有します。

! [remote rejected] master -> master (refusing to allow an OAuth App to create or update workflow .github/workflows/main.yml without workflow scope)

環境

  • macOS 10.15.6
  • SourceTree 4.0.2
  • GitHub

再現手順

  1. Clone with HTTPSでURLを取得、ローカルにクローンを作成する
  2. ローカルのドキュメントを操作する
  3. リモートにプッシュすると、上記のエラーが発生する

原因

refusing to allow an OAuth App to create or update workflow .github/workflows/main.yml without workflow scope
-> ワークフロースコープなしでは、OAuthアプリのワークフロー作成または更新を拒否します。

クローン元のリポジトリに、GitHub Workflowの設定ファイル.github/workflows/main.ymlが含まれています。OAuthクライアントとHTTPSクローンでは、このファイルを操作する権限がないためエラーが発生します。

対処法

十分なパーミッションをもった認証方法でアクセスします。あなたがGitHubにSSHで接続できない場合は対処法1を、SSHで接続できる場合は対処法2で対処します。

対処法1. Personal Access Token

パーソナルアクセストークンとは、パスワードに変わってGitHub APIにアクセスするための個人認証方法です。パスワードと違い、同一アカウントで複数のトークンを生成し、それぞれのトークンに異なる操作権限を設定できます。万が一トークンが流出した場合は、トークンを個別に失効させることも可能です。

アクセストークンの発行

GitHubのPersonal access tokens設定ページを開き「Generate new token」ボタンでアクセストークンを生成します。

参考記事 : GitHub : 個人アクセストークンを使用する

SourceTreeにアクセストークンを登録する

SourceTreeでアクセストークンを利用するには、GitHubアカウントのパスワードの代わりにアクセストークンを入力します。

参考記事

Windowsの場合、資格情報マネージャーにパーソナルアクセストークンを設定しても、この問題を回避できます。

参考記事 : Git Extensions is a great tool but the credential management is very weak

対処法2. SSH

GitHubにSSHで接続できる場合は、リポジトリのリモートURLを変更する事でこの問題を回避できます。
GitHubへSSH接続する手順は、公式ドキュメントのGitHubにSSHで接続するをご参照ください。

リポジトリのページから、以下の手順でSSH接続用のURLをコピーします。ローカルリポジトリのリモートURLをこのURLに変更すればPushに成功します。

以上、ありがとうございました。

16
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
8