NPM 包 issue-parser 使用教程

阅读时长 5 分钟读完

在开发过程中,我们不可避免地会遇到 issue(问题)和 pull request(拉取请求)的管理。如果你是一个开源项目的贡献者,你可能需要对这些 issue 和 pull request 进行分类和处理,以更好地管理你的项目。npm 包 issue-parser 可以帮助你解决这些问题,本文将为大家介绍如何使用 npm 包 issue-parser 来解析 issue 和 pull request。

issue-parser 是什么

issue-parser 是一个用于解析 issue 和 pull request 语句的精简 npm 包。通过使用 issue-parser,你可以将 issue 句子中的元素(如 “@user”、“#1”、“fixes #2” 等)解析成一个对象,以便更好地管理和操作。

issue-parser 的安装

你可以通过以下命令来安装 issue-parser:

如何使用 issue-parser

以下是一个简单的使用示例:

此处我们创建了一个名为 issue-parser 的变量,并将其设置为 GitHub 问题系统的解析器。然后,我们需要使用 parse() 方法来解析我们要处理的 issue。在这个例子中,我们的问题解析成一个包含以下属性的对象:

-- -------------------- ---- -------
-
  ---------- -
    -
      --------- ---------
      --------- ---
    -
  --
  ----------- -
    --------
    -------
  --
  ------ ------- ---- ------ -------
-

我们可以看到,issue-parser 为我们提供了 issue 包含的所有需要的信息。

issue-parser 的 API

在本节中,我们将深入介绍 issue-parser 的 API,包括解析器初始化和解析方法。

1. 初始化解析器

首先,你需要用 IssueParser 类来创建 issue-parser 的实例,初始化实例时需要提供一个 issue 跟踪器名字,可以是任何合法的跟踪器名称,如 "github", "jira" 等。

2. 解析 issue / pull request

当我们创建了 issue-parser 实例之后,我们可以使用 parse() 方法解析 Issue / pull request 句子。parse() 方法需要一个包含 Issue / pull request 信息的字符串,方法返回一个解析后的对象,包含以下属性:

2.1 actions

actions 是一个数组,包含一个或多个表示对这个 issue / pull request 将要执行的操作对象。这些操作包括 "open"(打开)、"reopen"(重新打开)、"close"(关闭)、"comment"(发评论)和 "lock"(锁定)等等。

每个操作都具有 actionnumber 属性。action 是对 Issue / pull request 执行的操作类型的字符串,number 代表 Issue / pull request 的编号。例如我们的示例中:

这里的 closes 就是一个操作类型,123 是 issue / pull request 的编号。

2.2 mentions

mentions 是一个数组,包含 issue / pull request 评论中提到的所有用户的用户名,如 "@user1"、"@user2" 等等。

2.3 raw

raw 是包含完整未解析内容的字符串:

3. 解析器 API 总结

以下是 issue-parser 中包含的可用方法和属性的总结:

3.1 Constructor

用于新建一个 issue-parser 解析器实例,需要传入一个 issue 跟踪器名字。

3.2 parse

用于解析 issue / pull request 语句。返回一个解析后的对象。

3.3 knownFields

knownFields 是 issue 跟踪器使用的关键词数组,不同的跟踪器使用不同的关键词,例如 Github 使用的 is、fixes、resolves 关键词可以被识别。

结论

issue-parser 是一个简单的 npm 包,虽然其体积小,但它可以帮助开发者更好地管理 issue 和 pull request,提高开发效率。通过本文,你已经掌握了如何使用 issue-parser 进行 issue 和 pull request 解析。希望这篇文章对你有所帮助!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedb5c9b5cbfe1ea0611475

纠错
反馈