This article is about fixing Error when pushing using personal access token -- the requested URL returned error 403 in ad-m github-push-action
  • 05-Feb-2023
Lightrun Team
Author Lightrun Team
Share
This article is about fixing Error when pushing using personal access token -- the requested URL returned error 403 in ad-m github-push-action

Error when pushing using personal access token — the requested URL returned error: 403 in ad-m github-push-action

Lightrun Team
Lightrun Team
05-Feb-2023

Explanation of the problem

A user was attempting to copy a file from a private repository to a public repository within the same workspace and then committing and pushing the changes. However, the push operation failed with a 403 error, with the following message:

remote: Permission to my-repos denied to github-actions[bot].
fatal: unable to access 'https://github.com/.../my-repos.git/': The requested URL returned error: 403

To determine the configuration settings being used for the repository, the user ran the following command:

git config -l

The output of this command revealed that the checkout action was executing a command which set the following header:

git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***

The solution to this issue was to unset the header with the following command:

git config --local --unset-all "http.https://github.com/.extraheader"

It is noted that while this resolution is unlikely to result in any side effects, it may be desirable to re-set the value after the push is completed. The user did not submit a pull request as they chose to incorporate the solution into their workflow file instead of using the action.

Troubleshooting with the Lightrun Developer Observability Platform

Getting a sense of what’s actually happening inside a live application is a frustrating experience, one that relies mostly on querying and observing whatever logs were written during development.
Lightrun is a Developer Observability Platform, allowing developers to add telemetry to live applications in real-time, on-demand, and right from the IDE.

  • Instantly add logs to, set metrics in, and take snapshots of live applications
  • Insights delivered straight to your IDE or CLI
  • Works where you do: dev, QA, staging, CI/CD, and production

Start for free today

Problem solution for Error when pushing using personal access token — the requested URL returned error: 403 in ad-m github-push-action

The error message “the requested URL returned error: 403” indicates that you are forbidden from accessing the requested URL. This is most likely due to an issue with the personal access token you are using to push to Github.

To resolve the issue, try the following steps:

  1. Check if the personal access token has the required permissions to push to the repository.
  2. Ensure that the personal access token has not expired.
  3. Regenerate the personal access token and use the new one in the push action.
  4. Make sure you are using the correct repository URL format, as incorrect URL format can also lead to a 403 error.

Other popular problems with github-push-action

Problem: Personal Access Token (PAT) Permission Error

A common issue faced when using the ad-m/github-push-action is that the personal access token used for pushing the changes doesn’t have the required permissions.

Solution:

To resolve this issue, make sure the personal access token has the repo scope, which provides the necessary permissions to push changes to the repository. If the token does not have the required permissions, you can regenerate it and provide the necessary scopes.

Here is an example of how to regenerate the PAT with the required permissions:

curl -u <username> -X POST https://api.github.com/authorizations \
  -d '{"scopes":["repo"], "note":"Push action permission"}'

Problem: Incorrect Repository URL

Another common issue faced when using ad-m/github-push-action is that the repository URL provided in the action is incorrect.

Solution:

To resolve this issue, ensure that the repository URL is in the correct format. The repository URL should be in the format https://<PAT>@github.com/<username>/<repo>.git.

Here is an example of a correct repository URL:

https://<PAT>@github.com/<username>/<repo>.git

Problem: Expired PAT

A third common issue faced when using ad-m/github-push-action is that the personal access token used for pushing the changes has expired.

Solution:

To resolve this issue, check the expiration date of the personal access token and regenerate it if it has expired. You can regenerate the PAT from the GitHub Developer Settings page.

Here is an example of how to regenerate the PAT from the GitHub Developer Settings page:

1. Login to your GitHub account
2. Go to Settings
3. Select Developer Settings
4. Select Personal access tokens
5. Click Generate new token
6. Provide the required permissions and note for the token
7. Click Generate token

A brief introduction to github-push-action

ad-m/github-push-action is a GitHub Actions workflow that enables pushing changes to a repository. It can be used to automate the process of committing and pushing changes to a repository. This action makes use of the GitHub REST API to perform the push operation, which means that it can be used with any language or platform that has the capability to make HTTP requests.

The ad-m/github-push-action workflow takes in several parameters, such as the repository URL, branch, commit message, and personal access token (PAT). The PAT is used to authenticate the push operation and provides the necessary permissions to make changes to the repository. This action can be used in various CI/CD pipelines to automate the process of pushing changes to the repository. The action can also be integrated with other GitHub Actions to perform more complex workflows.

Most popular use cases for github-push-action

  1. Automating Commit and Push Operations

The ad-m/github-push-action can be used to automate the process of committing and pushing changes to a repository. This can be useful in various CI/CD pipelines, where changes need to be committed and pushed automatically after a successful build. This can help streamline the development workflow and reduce the time and effort required to manually push changes.

Here is an example of how the ad-m/github-push-action can be used in a CI/CD pipeline to automate the commit and push operation:

name: CI/CD

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v2

    - name: Commit and Push changes
      uses: ad-m/github-push-action@v1
      with:
        repo: https://<PAT>@github.com/<username>/<repo>.git
        branch: main
        message: 'Automated commit and push'
  1. Integrating with Other GitHub Actions

The ad-m/github-push-action can be integrated with other GitHub Actions to perform more complex workflows. For example, it can be used in combination with the actions/checkout action to checkout the code, make changes, and then push the changes to the repository.

  1. Pushing Changes to Multiple Branches

The ad-m/github-push-action can be used to push changes to multiple branches in the same repository. This can be useful in situations where changes need to be pushed to multiple branches, such as when working with multiple branches for different environments or when working with feature branches.

Here is an example of how the ad-m/github-push-action can be used to push changes to multiple branches:

- name: Push to branch1
  uses: ad-m/github-push-action@v1
  with:
    repo: https://<PAT>@github.com/<username>/<repo>.git
    branch: branch1
    message: 'Push to branch1'

- name: Push to branch2
  uses: ad-m/github-push-action@v1
  with:
    repo: https://<PAT>@github.com/<username>/<repo>.git
    branch: branch2
    message: 'Push to branch2'
Share

It’s Really not that Complicated.

You can actually understand what’s going on inside your live applications.

Try Lightrun’s Playground

Lets Talk!

Looking for more information about Lightrun and debugging?
We’d love to hear from you!
Drop us a line and we’ll get back to you shortly.

By submitting this form, I agree to Lightrun’s Privacy Policy and Terms of Use.