1

I have read the instructions on how to delete a version here: https://help.github.com/en/github/managing-packages-with-github-packages/deleting-a-package

When I tried to use the curl, it just gives me this error:

{
  "message": "Problems parsing JSON",
  "documentation_url": "https://developer.github.com/v4"
}

This is my curl:

curl -X POST -H "Accept: application/vnd.github.package-deletes-preview+json" -H "Authorization: bearer PERSONALACCESSTOKEN" -d '{"query":"mutation { deletePackageVersion(input:{packageVersionId:\"1.0.0\"}) { success }}"}' https://api.github.com/graphql

Am I missing something? How can I properly authenticate myself?

JianYA
  • 2,750
  • 8
  • 60
  • 136

1 Answers1

2

You are passing a value of 1.0.0 for packageVersionId here:

'{"query":"mutation { deletePackageVersion(input:{packageVersionId:\"1.0.0\"}) { success }}"}'

packageVersionId is the id of package layers.

You can query the GitHub packages with a command as follows:

$ curl -sL -X POST https://api.github.com/graphql \
-H "Authorization: bearer <github_token>" \
-d '{"query":"query{repository(owner:\"<repo_owner>\",name:\"<repo_name>\"){registryPackages(first:10){nodes{packageType,registryPackageType,name,nameWithOwner,id,versions(first:10){nodes{id,version,readme}}}}}}"}' | jq .

(Make sure to update <github_token>, <repo_owner> and <repo_name>)

For example packageVersionId becomes MDE0OlBhY2thZ2VWZXJzaW9uMzc5MTE0kFcA for the version of 0.1a on a following returned output of above command:

***
  "registryPackages": {
    "nodes": [
      {
        "packageType": "DOCKER",
        "registryPackageType": "docker",
        "name": "demo_image",
        "nameWithOwner": "aki***/demo_image",
        "id": "MDc6UGFja2FnZTYzNjg3AkFc",
        "versions": {
          "nodes": [
            {
              "id": "MDE0OlBhY2thZ2VWZXJzaW9uMzc5MTE0kFcA",
              "version": "0.1a",
              "readme": null
            },
***
Akif
  • 6,018
  • 3
  • 41
  • 44