如何从Github程序包注册表中删除/删除/取消链接/取消版本包

hb0

问题:如何从Github软件包注册表中使软件包“消失”?

  • 文档说:删除所有版本后,您将无法“删除”,但软件包会“消失”。

背景:

  • Gradle发布任务中的错字导致发布了不应发布的软件包。

到目前为止的步骤:

  • 我在Github Web App上找不到“删除”选项。
  • 我试图通过Github的GraphQL API删除,但是我需要此命令的程序包ID:
curl -X POST \
-H "Accept: application/vnd.github.package-deletes-preview+json" \
-H "Authorization: bearer ACCESS_TOKEN" \
-d '{"query":"mutation { deletePackageVersion(input:{packageVersionId:\"PACKAGE_ID==\"}) { success }}"}' \
https://api.github.com/graphql
  • 我在Github Web App上找不到完整的packageVersionId。
  • 我试图查询API的包ID,但未能形成有效的查询:
curl -X POST \
-H "Accept: application/vnd.github.package-deletes-preview+json" \
-H "Authorization: bearer ACCESS_TOKEN" \
-d "query {
  organization(login: "ORGANIZATION_ACCOUNT") {
    registryPackages {
      edges {
        node {
          name
          id
        }
      }
    }
  }
}" \
https://api.github.com/graphql

# The API returns:
{
  "message": "Problems parsing JSON",
  "documentation_url": "https://developer.github.com/v4"
}
  • 我尝试使用GraphQL API Explorer,但是自动设置的令牌缺少足够的权限:
# See query above - the API returns via the Explorer:
{
  "errors": [
    {
      "type": "INSUFFICIENT_SCOPES",
      "locations": [
        {
          "line": 6,
          "column": 11
        }
      ],
      "message": "Your token has not been granted the required scopes to execute this query. The 'name' field requires one of the following scopes: ['read:packages'], but your token has only been granted the: ['read:gpg_key', 'read:org', 'read:public_key', 'read:repo_hook', 'repo', 'user'] scopes. Please modify your token's scopes at: https://github.com/settings/tokens."
    },
    {
      "type": "INSUFFICIENT_SCOPES",
      "locations": [
        {
          "line": 7,
          "column": 11
        }
      ],
      "message": "Your token has not been granted the required scopes to execute this query. The 'id' field requires one of the following scopes: ['read:packages'], but your token has only been granted the: ['read:gpg_key', 'read:org', 'read:public_key', 'read:repo_hook', 'repo', 'user'] scopes. Please modify your token's scopes at: https://github.com/settings/tokens."
    }
  ]
}
  • 我在Explorer Web App上找不到用于设置另一个访问令牌的选项。

所需解决方案

  • 我想知道是否有更简单的方法来执行此操作,如果没有,如何获取取消链接包以使其消失所需的packageVersionIds。

Update1:关于发布到公共资源库的软件包

阿基夫

不允许从公共注册表中删除软件包,但是您可以按照GitHub docs中所述从私有注册表中删除软件包

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

GitHub软件包的版本ID可以列出如下:

$ 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 .

使用您的参数更新以下参数:

  • <github_token>
  • <repo_owner>
  • <repo_name>

它返回如下:

{
  "data": {
    "repository": {
      "registryPackages": {
        "nodes": [
          {
            "packageType": "DOCKER",
            "registryPackageType": "docker",
            "name": "demo_image_1",
            "nameWithOwner": "aki***/demo_image_1",
            "id": "MDc6UGFja2FnZTYzNjg3AkFc",
            "versions": {
              "nodes": [
                {
                  "id": "MDE0OlBhY2thZ2VWZXJzaW9uMzc5MTE0kFcA",
                  "version": "0.1a",
                  "readme": null
                },
                {
                  "id": "MDE0OlBhY2thZ2VWZXJzaW9uMzYzNTY2FcAk",
                  "version": "0.1",
                  "readme": null
                },
                {
                  "id": "MDE0OlBhY2thZ2VWZXJzaW9uMzYzNTY0cAkF",
                  "version": "docker-base-layer",
                  "readme": null
                }
              ]
            }
          },
        ]
      }
    }
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将Docker映像从Github程序包注册表部署到Azure Web Apps

来自分类Dev

如何在Azure管道中更正程序包版本名称并删除内部版本ID

来自分类Dev

如何从npm注册表中删除npm软件包?

来自分类Dev

如何删除注册表中的错误符号链接

来自分类Dev

如何取消合并Android Studio程序包

来自分类Dev

从注册表中删除程序

来自分类Dev

从大气取消发布程序包

来自分类Dev

删除cgminer程序包

来自分类Dev

如何取消Sublime Text 3中的程序包控制消息弹出窗口

来自分类Dev

如何推动与摇篮Github上包注册表

来自分类Dev

如何从另一个程序包的依赖项列表中删除特定程序包?

来自分类Dev

Android Studio中的“程序包筛选器删除了所有程序包”错误

来自分类Dev

Android Studio中的“程序包筛选器删除了所有程序包”错误

来自分类Dev

使用auth令牌查询私有NPM注册表以获取给定的程序包版本,但是没有文件系统访问权限?

来自分类Dev

从Perl的符号表中删除其名称后访问程序包变量?

来自分类Dev

如何取消删除BigQuery表?

来自分类Dev

流星删除已发布的程序包

来自分类Dev

删除NoUIEntryPoints-DesignMode程序包

来自分类Dev

防止MVCBuildViews删除MSdeploy程序包

来自分类Dev

无法删除Anaconda程序包(InvalidArchiveError)

来自分类Dev

流星删除已发布的程序包

来自分类Dev

错误删除的程序包

来自分类Dev

链接取消令牌

来自分类Dev

如何从节点模块的功能开始中删除程序包名称

来自分类Dev

如何在没有注册表编辑的情况下从程序取消文件类型的关联?

来自分类Dev

如何删除注册表中的多个值

来自分类Dev

如何删除注册表审核规则?

来自分类Dev

无法删除注册表中的值

来自分类Dev

如何仅对我们的作用域包使用github包注册表,如何从标准npm中获取其余内容?

Related 相关文章

  1. 1

    如何将Docker映像从Github程序包注册表部署到Azure Web Apps

  2. 2

    如何在Azure管道中更正程序包版本名称并删除内部版本ID

  3. 3

    如何从npm注册表中删除npm软件包?

  4. 4

    如何删除注册表中的错误符号链接

  5. 5

    如何取消合并Android Studio程序包

  6. 6

    从注册表中删除程序

  7. 7

    从大气取消发布程序包

  8. 8

    删除cgminer程序包

  9. 9

    如何取消Sublime Text 3中的程序包控制消息弹出窗口

  10. 10

    如何推动与摇篮Github上包注册表

  11. 11

    如何从另一个程序包的依赖项列表中删除特定程序包?

  12. 12

    Android Studio中的“程序包筛选器删除了所有程序包”错误

  13. 13

    Android Studio中的“程序包筛选器删除了所有程序包”错误

  14. 14

    使用auth令牌查询私有NPM注册表以获取给定的程序包版本,但是没有文件系统访问权限?

  15. 15

    从Perl的符号表中删除其名称后访问程序包变量?

  16. 16

    如何取消删除BigQuery表?

  17. 17

    流星删除已发布的程序包

  18. 18

    删除NoUIEntryPoints-DesignMode程序包

  19. 19

    防止MVCBuildViews删除MSdeploy程序包

  20. 20

    无法删除Anaconda程序包(InvalidArchiveError)

  21. 21

    流星删除已发布的程序包

  22. 22

    错误删除的程序包

  23. 23

    链接取消令牌

  24. 24

    如何从节点模块的功能开始中删除程序包名称

  25. 25

    如何在没有注册表编辑的情况下从程序取消文件类型的关联?

  26. 26

    如何删除注册表中的多个值

  27. 27

    如何删除注册表审核规则?

  28. 28

    无法删除注册表中的值

  29. 29

    如何仅对我们的作用域包使用github包注册表,如何从标准npm中获取其余内容?

热门标签

归档