pemtajo / badge-readme

Add badges in your Readme
MIT License
56 stars 35 forks source link

Permissions section in .yml file needed #20

Open joshuabrownenz opened 9 months ago

joshuabrownenz commented 9 months ago

I created the specified update-badges.yml

name: Update badges

on:
  schedule:
    # Runs at 0am UTC every day
    - cron: "0 0 * * *"
jobs:
  update-readme:
    name: Update Readme with badges
    runs-on: ubuntu-latest
    steps:
      - name: Badges - Readme
        uses: pemtajo/badge-readme@main

But when I ran the workflow I was getting a failed action with the error message github.GithubException.GithubException: 403 {"message": "Resource not accessible by integration", "documentation_url": "https://docs.github.com/rest/repos/contents#create-or-update-file-contents"}

It looked like it was an issue with the GITHUB_TOKEN so I added the contents: write permission in the .yml and the problem went away.

name: Update badges

on:
  schedule:
    # Runs at 2am UTC
    - cron: "0 2 * * *"
jobs:
  update-readme:
    name: Update Readme with badges
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - name: Badges - Readme
        uses: pemtajo/badge-readme@main
4N0NYM0U5MY7H commented 2 months ago

I received the same error when using the example from the README and this appears to resolve the issue.

MathewBiddle commented 2 months ago

I think you can also address this through the settings of your repository. See https://docs.github.com/en/actions/security-guides/automatic-token-authentication#modifying-the-permissions-for-the-github_token

Look in: Settings > Actions > General > Workflow permissions

image

4N0NYM0U5MY7H commented 2 months ago

I see. Default is set to read only. Thank you!

noelmiller commented 1 month ago

Yup, that fixed it for me as well!