跳转到主要内容

用于管理Python 3.6及更高版本GitHub标签的命令行应用程序。 📝

项目描述

标签

用于管理Python 3.6及更高版本GitHub标签的命令行应用程序。 📝

安装

标签 可从 PyPI 通过 pip 下载

pip install labels

版本遵循 日历版本,使用 YY.MINOR.MICRO 方案。 🗓

身份验证

labels CLI连接到GitHub API以修改GitHub仓库的标签。请 创建自己的个人API令牌 并根据您是否想管理公共或私有仓库的问题标签选择正确的令牌范围。然后在您的终端中设置两个环境变量

export LABELS_USERNAME="<GITHUB_USERNAME>"
export LABELS_TOKEN="<GITHUB_TOKEN>"

用法

安装 标签 并设置环境变量后,您就可以使用 标签 CLI来管理GitHub仓库的标签。CLI包含两个命令: fetchsync。这两个命令都需要提供所有者名称和GitHub仓库的名称来获取或同步。默认情况下, 标签 尝试根据本地Git仓库的 origin 远程仓库的URL加载此信息。

例如,如果您使用本地克隆的 earth 仓库运行 labels,并将 origin 设置为 git@github.com:hackebrot/earth.git,则所有者将是 hackebrot,仓库将是 earth。 🌍

您可以使用以下 CLI 选项手动覆盖其中一个或两个值

-o, --owner TEXT     GitHub owner name
-r, --repo TEXT      GitHub repository name

获取

当您首次使用 labels 时,您将开始获取有关您的 GitHub 项目的现有标签的信息。然后 CLI 将将检索到的信息写入您的计算机上的一个 TOML 文件。该文件的默认名称是当前工作目录中的 labels.toml,可以通过传递 -f, --filename PATH 选项并跟随要写入的路径来更改。

labels fetch -o hackebrot -r pytest-emoji
[bug]
color = "ea707a"
description = "Bugs and problems with pytest-emoji"
name = "bug"

["code quality"]
color = "fcc4db"
description = "Tasks related to linting, coding style, type checks"
name = "code quality"

[dependencies]
color = "43a2b7"
description = "Tasks related to managing dependencies"
name = "dependencies"

[docs]
color = "2abf88"
description = "Tasks to write and update documentation"
name = "docs"

["good first issue"]
color = "bfdadc"
description = "Tasks to pick up by newcomers to the project"
name = "good first issue"

同步

现在,您在计算机上有一个表示您的 GitHub 标签的文件,您可以编辑此文件,然后运行 labels sync 以更新远程仓库。但首先,让我们看看它是如何工作的... 🔍

在书写的 TOML 文件中表示 GitHub 标签

[docs]
color = "2abf88"
description = "Tasks to write and update documentation"
name = "docs"

如上例中的 [docs] 部分名称代表该仓库标签的名称,并且与运行 labels fetch 时的 name 字段相同。不要自行编辑现有标签的章节名称!

colordescriptionname 字段是可以使用 labels CLI 编辑的参数。

  • name - 标签的名称
  • description - 标签的简短描述
  • color - 标签的十六进制颜色代码,不包括前缀 #

您可以对您的仓库标签进行以下更改

  • 您可以通过从标签文件中删除相应的部分来 删除 一个标签 🗑
  • 您可以通过更改该标签的一个或多个参数来 编辑 一个标签 🎨
  • 您可以通过添加具有所需参数的新部分来 创建 一个新的标签 📝

在创建标签时,请选择与 name 参数相同的章节名称。

在同步之前,使用 dryrun CLI 选项检查您的标签更改

-n, --dryrun         Do not modify remote labels

示例用法

labels sync -n -o hackebrot -r pytest-emoji
This would delete the following labels:
  - dependencies
This would update the following labels:
  - bug
  - good first issue
This would create the following labels:
  - duplicate
This would NOT modify the following labels:
  - code quality
  - docs

在不使用 dryrun 选项的情况下运行 labels sync 也会更新标签文件,以便章节名称与 name 参数匹配。

如果 labels 在向 GitHub API 发送请求时遇到任何错误,它将打印有关失败的信息,并继续处理下一个标签,直到处理完所有标签。

社区

请查看 good first issue 标签以获取适合您对 labels 的首次贡献的任务。您的贡献将受到高度赞赏!每一小步都很重要,并且将始终给予信誉!👍

请注意,labelsContributor Code of Conduct 的条款发布。通过参与此项目,您同意遵守其条款。

许可证

在 MIT 许可证的条款下分发,labels 是免费和开源软件。

项目详细信息


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分发

labels-20.1.0.tar.gz (12.8 kB 查看哈希值)

上传时间 源代码

构建的发行版

labels-20.1.0-py3-none-any.whl (10.6 kB 查看哈希值)

上传时间 Python 3

由以下支持