#问题 #GitHub #URL #构建器 #GitHub问题 #工具

github-issue-url

GitHub预填充问题URL构建器

1 个不稳定版本

0.1.0 2021年6月2日

#8#github-issues

MIT/Apache

15KB
104

GitHub问题URL

GitHub预填充问题URL构建器

Crates.io Documentation Build Clippy Formatter Tests

动机

您可以通过在“新建问题”URL(https://github.com/<User | Organization>//issues/new)中指定某些查询参数来预填充问题表单字段。

例如

https://github.com/EstebanBorai/github-issue-url/issues/new?
  title=Null%3A+The+Billion+Dollar+Mistake
  &body=Null+is+a+flag.+It+represents+different+situations
  &template=bug_report.md
  &labels=bug%2Cproduction%2Chigh-severity
  &assignee=EstebanBorai
  &milestone=1
  &projects=1

这样,您可以为Rust应用程序提供一个一键“打开问题”按钮,例如,您可以从应用程序运行的主机系统读取一些堆栈跟踪或详细信息,让用户无需自行指定系统/或应用程序详细信息即可在GitHub上打开问题。

安装

[dependencies]
github-issue-url = "0.1"

用法

要创建上述URL,您必须使用此crate中包含的Issue结构体,指定仓库所有者和仓库名,然后使用“setter-like”方法定义相关字段,例如标题、正文、模板、标签、分配人、里程碑和/或项目。

use github_issue_url::Issue;

const GITHUB_ISSUE_LINK: &str = "https://github.com/EstebanBorai/github-issue-url/issues/new?title=Null%3A+The+Billion+Dollar+Mistake&body=Null+is+a+flag.+It+represents+different+situations+depending+on+the+context+in+which+it+is+used+and+invoked.+This+yields+the+most+serious+error+in+software+development%3A+Coupling+a+hidden+decision+in+the+contract+between+an+object+and+who+uses+it.&template=bug_report.md&labels=bug%2Cproduction%2Chigh-severity&assignee=EstebanBorai&milestone=1&projects=1";

let mut have = Issue::new("github-issue-url", "EstebanBorai").unwrap();

have.title("Null: The Billion Dollar Mistake");
have.body(SAMPLE_ISSUE_BODY);
have.template("bug_report.md");
have.labels("bug,production,high-severity");
have.assignee("EstebanBorai");
have.milestone("1");
have.projects("1");

let have = have.url().unwrap();

assert_eq!(have, GITHUB_ISSUE_LINK.to_string());

发布

git tag -a v0.1.0 -m "Release Message"
git push origin main --follow-tags

贡献

欢迎对项目的任何贡献!请随意发起拉取请求或问题。

许可证

双重许可,受MIT许可证和Apache 2.0许可证的约束。

依赖项

~1.3–2.1MB
~67K SLoC