You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm struggling to understand how I could simply clone repositories in an action, without using deploy keys because they have to be added in each repository to work.
PAT permissions are really not user-friendly, and I'd just like to have a simple read:repository permission to have the right to clone a repository's code.
I'm hitting the bug for cloning with a token defined: remote: Write access to repository not granted. but I don't care about write access to that repository, with my PAT.
Is this something possible with a PAT that can only clone and not push ?
deployro, gaahrdner, dominicmh, KonradHoeffner, twistedpair and 36 more
FYI: the documentation simply states:
" # We recommend using a service account with the least permissions necessary. Also
# when generating a new PAT, select the least scopes necessary."
This is extremely vague, good PAT configurations should be given for common use cases, and I expect pure read-only cloning to be a big one
alan-wint, JoseAlban, RotemBirman, tanweerdev, combatopera and 32 moremifi, cevich, RotemBirman, tanweerdev and NafiGit
I want to give the least permission (Read only on public and private repository) for an action using a PAT.
But it only works with the full repo scope which gives a lot more.
Thanks
Michaelvsk, davquar, dominicmh, twistedpair, cevich and 5 more
I'm seeing the same problem with fine grained PATs and @actions/checkout@v3
When I use a FG PAT with content: read and metadata: read, and give the PAT's user read access to the given repo, I still see the remote: Write access to repository not granted. error in GitHub Actions.
Why do we need write access to do a read operation?
NorseGaud, alan-wint, igor-zmitrovich, Magicloud, jamalex and 25 more
I'm seeing the same problem with fine grained PATs and @actions/checkout@v3
When I use a FG PAT with content: read and metadata: read, and give the PAT's user read access to the given repo, I still see the remote: Write access to repository not granted. error in GitHub Actions.
Why do we need write access to do a read operation?
I even tried with full read + write for every permission and I still get that error. Are you by chance specifying a specific ref? and is the repo private?
I was able to get around this problem with classic tokens with "repo" permission. Unsure what's wrong with Fine-grained, but they are technically "Beta".
twistedpair, jmvadodaria, demisx, rajephon, lorikayman and 1 moreemmekappa and Hatzen
I cannot get a checkout of a private repo as a submodule using FG PATs. Works fine with classic PATs and "Repo" permission.
I wonder if this could have to do with the additional Organization settings recently added to allow/block/require approval for FG PATs in organizations? I set FG PATs to be allowed in my org, but I still get these "remote: Write access to repository not granted. " errors when trying to do read operations with this action.
NorseGaud, igor-zmitrovich, cevich, jmvadodaria, oogatta and 6 more
Today I've created and configured a fine grained PAT on a GitHub organization level successfully. The only required permissions are read access to code and metadata. This issue seems to be resolved.
Setting the token value as GH_PAT in the repository secrets does the job.
So just leaving this here. I had the same issue when trying to checkout a private org repo in my workflow. I was using the latest actions/checkout@v4. I create a FG token on my user and it was throwing the write error and it only had read access to content & metadata.
I then found out that at the org level settings I had to enable FG permissions cause by default FG tokens do not have access to org repos.
This way I was able to create an FG for that organization under the resources with just content and metadata read-only permissions
Activity
Gby56 commentedon Apr 22, 2022
FYI: the documentation simply states:
" # We recommend using a service account with the least permissions necessary. Also
# when generating a new PAT, select the least scopes necessary."
This is extremely vague, good PAT configurations should be given for common use cases, and I expect pure read-only cloning to be a big one
Gby56 commentedon Apr 22, 2022
it looks like it requires to give the full "repo" scope, and not just repo:status, repo_deployment, public_repo, repo:invite, security_events ?
matheo-lucak commentedon Jun 7, 2022
Hello,
I'm facing the exact same issue.
I want to give the least permission (Read only on public and private repository) for an action using a PAT.
But it only works with the full
repo
scope which gives a lot more.Thanks
mifi commentedon Oct 25, 2022
After searching a bit I found that a basic minimal setup would be to use the same set of (restricted) permissions as the
GITHUB_TOKEN
gives.It means we can create a "fine-grained personal access token" with the
content
andmetadata
permissions.twistedpair commentedon Oct 27, 2022
@mifi , is that
content: read
andmetadata: read
?I'm seeing the same problem with fine grained PATs and
@actions/checkout@v3
When I use a FG PAT with
content: read
andmetadata: read
, and give the PAT's userread
access to the given repo, I still see theremote: Write access to repository not granted.
error in GitHub Actions.Why do we need write access to do a read operation?
mifi commentedon Oct 27, 2022
correct. that's what worked for me. I only do a checkout though, nothing else fancy
NorseGaud commentedon Nov 1, 2022
I even tried with full read + write for every permission and I still get that error. Are you by chance specifying a specific
ref
? and is the repo private?mifi commentedon Nov 2, 2022
Clarification: I'm using this for a submodule which is a private repo.
Here's my workflow:
NorseGaud commentedon Nov 2, 2022
I was able to get around this problem with classic tokens with "repo" permission. Unsure what's wrong with Fine-grained, but they are technically "Beta".
twistedpair commentedon Nov 2, 2022
+1 on @NorseGaud 's situation.
I cannot get a checkout of a private repo as a submodule using FG PATs. Works fine with classic PATs and "Repo" permission.
I wonder if this could have to do with the additional Organization settings recently added to allow/block/require approval for FG PATs in organizations? I set FG PATs to be allowed in my org, but I still get these "remote: Write access to repository not granted. " errors when trying to do read operations with this action.
igor-zmitrovich commentedon Nov 10, 2022
Same issue as @NorseGaud and @twistedpair have. Not able to get a checkout of private organization's repo despite having permission in FG PAT.
hermanbanken commentedon Dec 8, 2022
https://stackoverflow.com/questions/42148841/github-clone-with-oauth-access-token/66156992#66156992
Apparently you need to set the username to
oauth2
. For me it isn't working, but maybe this works for you.fkromer commentedon Feb 23, 2023
Today I've created and configured a fine grained PAT on a GitHub organization level successfully. The only required permissions are read access to code and metadata. This issue seems to be resolved.
Setting the token value as
GH_PAT
in the repository secrets does the job.codezninja commentedon Sep 6, 2023
So just leaving this here. I had the same issue when trying to checkout a private org repo in my workflow. I was using the latest
actions/checkout@v4
. I create a FG token on my user and it was throwing the write error and it only had read access to content & metadata.I then found out that at the org level settings I had to enable FG permissions cause by default FG tokens do not have access to org repos.
This way I was able to create an FG for that organization under the resources with just content and metadata read-only permissions
This is the comment that helped me get there https://github.com/orgs/community/discussions/40910#discussioncomment-4454056
3 remaining items