Skip to content

Skip git altogether #8

Closed
Closed
@rarkins

Description

@rarkins
Collaborator

Is it possible to do all the git options via the GitHub API instead?

Activity

rarkins

rarkins commented on Dec 19, 2016

@rarkins
CollaboratorAuthor

https://api.github.com/repos/singapore/package-test/contents/package.json seems to return the package.json in base64 format, but when I copy/paste the "content" field into online decoders, it seems to have a character problem.

The response also includes a "download_url" field which works (gives the raw file).

rarkins

rarkins commented on Dec 19, 2016

@rarkins
CollaboratorAuthor

Adding Accept: application/vnd.github.VERSION.raw header gets you the raw file!

rarkins

rarkins commented on Dec 19, 2016

@rarkins
CollaboratorAuthor

A URL like https://api.github.com/repos/singapore/package-test/contents/package.json?ref=upgrade/angular will get the package.json from branch "upgrade/angular". If the branch/file doesn't exist then you get a response like:

{
  "message": "No commit found for the ref upgrade/angular2",
  "documentation_url": "https://developer.github.com/v3/repos/contents/"
}
rarkins

rarkins commented on Dec 19, 2016

@rarkins
CollaboratorAuthor
rarkins

rarkins commented on Dec 19, 2016

@rarkins
CollaboratorAuthor

Create a branch. Use https://api.github.com/repos/singapore/package-test/git/refs. Response is:

{
  "ref": "refs/heads/testtest1",
  "url": "https://api.github.com/repos/singapore/package-test/git/refs/heads/testtest1",
  "object": {
    "sha": "61fe1c4451cf22df5c84f9b0b6876f7214c476ce",
    "type": "commit",
    "url": "https://api.github.com/repos/singapore/package-test/git/commits/61fe1c4451cf22df5c84f9b0b6876f7214c476ce"
  }
}
rarkins

rarkins commented on Dec 19, 2016

@rarkins
CollaboratorAuthor

Get the SHA of package.json for branch testtest1: https://api.github.com/repos/singapore/package-test/contents/package.json?ref=testtest1

9e7c115f680cfdeb0822fec8be35aa8cb2e9f920
rarkins

rarkins commented on Dec 19, 2016

@rarkins
CollaboratorAuthor

Updating package.json in a branch also worked.

URL: https://api.github.com/repos/singapore/package-test/contents/package.json

Body:

{
	"branch": "testtest1",
  "message": "update from API",
  "author": {
    "name": "Renovate Bot",
    "email": "renovate-bot@keylocation.sg"
  },
  "content": "ew0KICAibmFtZSI6ICJjbGllbnQtYnVpbGQiLA0KICAiZGVzY3JpcHRpb24iOiAiQ2xpZW50IG5vZGUgbW9kdWxlcyBmb3Iga2V5bG9jYXRpb24iLA0KICAidmVyc2lvbiI6ICIxLjAuMCIsDQogICJhdXRob3IiOiAiUmh5cyBBcmtpbnMgPHJoeXNAa2V5bG9jYXRpb24uc2c+IiwNCiAgImJ1Z3MiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NpbmdhcG9yZS9rZXlsb2NhdGlvbi9pc3N1ZXMiLA0KICAiY29udHJpYnV0b3JzIjogWw0KICAgIHsNCiAgICAgICJuYW1lIjogIlJoeXMgQXJraW5zIg0KICAgIH0sDQogICAgew0KICAgICAgIm5hbWUiOiAiQXlvdWIgS2FhbmljaCINCiAgICB9DQogIF0sDQogICJkZXBlbmRlbmNpZXMiOiB7DQogICAgImF1dG9wcmVmaXhlciI6ICI2LjUuMCIsDQogICAgImJvd2VyIjogIjEuNy43IiwNCiAgICAiYnJvd3NlcmlmeSI6ICIxMy4xLjAiLA0KICAgICJicm93c2VyaWZ5LWNzcyI6ICIwLjkuMiIsDQogICAgImNoZWVyaW8iOiAiMC4yMi4wIiwNCiAgICAiY29uZmlnIjogIjEuMjEuMCIsDQogICAgImNzcy1sb2FkZXIiOiAiMC4yNS4wIiwNCiAgICAiZGF0YXVyaSI6ICIxLjAuNCIsDQogICAgImV4cG9ydHMtbG9hZGVyIjogIjAuNi4zIiwNCiAgICAiZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luIjogIjEuMC4xIiwNCiAgICAiZmlsZS1sb2FkZXIiOiAiMC45LjAiLA0KICAgICJmcy1leHRyYSI6ICIwLjMwLjAiLA0KICAgICJnbG9iIjogIjcuMS4xIiwNCiAgICAiaW1wb3J0cy1sb2FkZXIiOiAiMC42LjUiLA0KICAgICJqYWRlIjogIjEuMTEuMCIsDQogICAgImphZGUtbG9hZGVyIjogIjAuOC4wIiwNCiAgICAianNvbi1sb2FkZXIiOiAiMC41LjQiLA0KICAgICJsaXRlcmFsaWZ5IjogIjAuNC4wIiwNCiAgICAibG9kYXNoIjogIjQuMTYuNCIsDQogICAgIm1pbmlmeWlmeSI6ICI3LjMuMyIsDQogICAgIm5vZGUtc2FzcyI6ICIzLjEwLjEiLA0KICAgICJwb3N0Y3NzLWxvYWRlciI6ICIwLjEzLjAiLA0KICAgICJyYXctbG9hZGVyIjogIjAuNS4xIiwNCiAgICAicnVja3NhY2stY3NzIjogIjAuOC42IiwNCiAgICAic2Fzcy1sb2FkZXIiOiAiNC4wLjIiLA0KICAgICJzdHlsZS1sb2FkZXIiOiAiMC4xMy4xIiwNCiAgICAic3ZnbyI6ICIwLjcuMSIsDQogICAgInN2Z28tbG9hZGVyIjogIjEuMS4wIiwNCiAgICAidXJsLWxvYWRlciI6ICIwLjUuNyIsDQogICAgIndlYnBhY2siOiAiMS4xNC4wIiwNCiAgICAid2VicGFjay1lbnRyaWVzLXBsdWdpbiI6ICIwLjAuMyIsDQogICAgIndpbnN0b24iOiAiMi4zLjAiDQogIH0sDQogICJkZXZEZXBlbmRlbmNpZXMiOiB7DQogICAgImFuZ3VsYXIiOiAiMS42LjAiLA0KICAgICJhbmd1bGFyLWFuaW1hdGUiOiAiMS41LjAiLA0KICAgICJhbmd1bGFyLWNoYXJ0aXN0LmpzIjogIjQuMi4zIiwNCiAgICAiYW5ndWxhci1zYW5pdGl6ZSI6ICIxLjUuOCIsDQogICAgImFuZ3VsYXItc2Nyb2xsIjogIjEuMC4wIiwNCiAgICAiYW5ndWxhci10b3VjaCI6ICIxLjUuOCIsDQogICAgImFuZ3VsYXItdHlwZXIiOiAiMC41LjUiLA0KICAgICJhbmd1bGFyLXVpLWJvb3RzdHJhcCI6ICIyLjIuMCIsDQogICAgImFuZ3VsYXItdWktcm91dGVyIjogIjAuMy4xIiwNCiAgICAiYW5ndWxhcmZpcmUiOiAiMi4xLjAiLA0KICAgICJhbmd1bGFydGljcyI6ICIxLjMuMCIsDQogICAgImFuZ3VsYXJ0aWNzLW1peHBhbmVsIjogIjAuMS4zIiwNCiAgICAiYW5pbWF0ZS5jc3MiOiAiMy41LjIiLA0KICAgICJib290c3RyYXAiOiAiMy4zLjciLA0KICAgICJib290c3RyYXAtc2FzcyI6ICIzLjMuNyIsDQogICAgImJvd3NlciI6ICIxLjYuMCIsDQogICAgImMzIjogIjAuNC4xMSIsDQogICAgImNoYXJ0aXN0IjogIjAuMTAuMSIsDQogICAgImNoYXJ0aXN0LXBsdWdpbi10b29sdGlwcyI6ICIwLjAuMTciLA0KICAgICJkMyI6ICIzLjUuMTciLA0KICAgICJkcmFndWxhIjogIjMuNy4yIiwNCiAgICAiZmFzdGNsaWNrIjogIjEuMC42IiwNCiAgICAiZmlyZWJhc2UiOiAiMy42LjQiLA0KICAgICJoZWFkcm9vbS5qcyI6ICIwLjkuMyIsDQogICAgImhpZ2hsaWdodC5qcyI6ICI5LjkuMCIsDQogICAgImltZ2l4LmpzIjogIjIuMi40IiwNCiAgICAianNvbi1zdHJpbmdpZnktc2FmZSI6ICI1LjAuMSIsDQogICAgImtleWNvZGUiOiAiMi4xLjgiLA0KICAgICJsZWFmbGV0IjogIjAuNy43IiwNCiAgICAibGVhZmxldC1kMy1zdmctb3ZlcmxheSI6ICIyLjIuMCIsDQogICAgImxlYWZsZXQubWFya2VyY2x1c3RlciI6ICIwLjUuMCIsDQogICAgImxvYWRqcyI6ICIzLjIuMCIsDQogICAgIm1hcGJveC5qcyI6ICIyLjQuMCIsDQogICAgIm1peHBhbmVsLWJyb3dzZXIiOiAiMi45LjE3IiwNCiAgICAibW9tZW50IjogIjIuMTcuMSIsDQogICAgIm5nLWFubm90YXRlIjogIjEuMi4xIiwNCiAgICAibmctaW5maW5pdGUtc2Nyb2xsIjogIjEuMy4wIiwNCiAgICAibmctdG9hc3QiOiAiMi4wLjAiLA0KICAgICJub3Vpc2xpZGVyIjogIjkuMC4wIiwNCiAgICAibm91aXNsaWRlci1hbmd1bGFyIjogIjIuNi4yIiwNCiAgICAib2RvbWV0ZXIiOiAiMC40LjciLA0KICAgICJvdWlib3VuY2UiOiAiMC4wLjEyIiwNCiAgICAicHJvbWlzZS1wb2x5ZmlsbCI6ICI2LjAuMiIsDQogICAgInEiOiAiMS40LjEiLA0KICAgICJyYXZlbi1qcyI6ICIzLjkuMSIsDQogICAgInNwaW4uanMiOiAiMi4zLjIiLA0KICAgICJzcGxpdC5qcyI6ICIxLjEuMSIsDQogICAgInN2Z3h1c2UiOiAiMS4xLjIzIiwNCiAgICAidGV0aGVyLXNoZXBoZXJkIjogIjEuOC4xIiwNCiAgICAidWktc2VsZWN0IjogIjAuMTkuNiINCiAgfSwNCiAgImhvbWVwYWdlIjogImh0dHBzOi8va2V5bG9jYXRpb24uc2ciLA0KICAia2V5d29yZHMiOiBbDQogICAgIktleSBMb2NhdGlvbiIsDQogICAgIlNpbmdhcG9yZSINCiAgXSwNCiAgImxpY2Vuc2UiOiAiUHJvcHJpZXRhcnkgYW5kIENvbmZpZGVudGlhbCIsDQogICJwcml2YXRlIjogdHJ1ZSwNCiAgInJlcG9zaXRvcnkiOiB7DQogICAgInR5cGUiOiAiZ2l0IiwNCiAgICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL3NpbmdhcG9yZS9rZXlsb2NhdGlvbi5naXQiDQogIH0NCn0=",
  "sha": "fb617c9e42866ca24d0ff8e0c2725048f6f9530c"
}
added a commit that references this issue on Jan 4, 2017
bcc3171
locked as resolved and limited conversation to collaborators on Dec 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @rarkins

        Issue actions

          Skip git altogether · Issue #8 · renovatebot/renovate