github - 如何使用 GitHub hub cli 工具创建拉取请求描述?
问题描述
我正在这样做:
pull_request() {
local url="$1"
local title="$2"
local message=$(cat <<-END
$title\n
\n
- [Story]($url)
END
)
echo $message
local pr_url=$(hub pull-request -m "$message")
open $pr_url
}
我希望这在描述中:
- [Story](...url)
并且标题是一些单行的东西。相反,标题是:
test\n \n - [Story](...url) END
当我运行时:
pull_request "...url" "test"
如何使用集线器工具设置描述?
解决方案
由于您没有$message
在echo -call 中引用,因此输出显示在一行上。用于echo "$message"
保留换行符。没有必要使用,因为使用Heredoc\n
时直接存储换行符。实际上,它们被视为普通文本。
根据文档,“消息中第一个空行之前的文本被视为拉取请求标题,其余部分用作 Markdown 格式的拉取请求描述。” 因为你没有空行(记住\n
不被解释为换行符),所以描述永远不会开始,一切都在标题中结束。
要解决此问题,请删除不必要的\n
内容并确保标题后有一个空行。另外,我建议使用hub pull-request--browse
的参数在浏览器中自动打开 PR。通过包装对集线器的调用,您可能会屏蔽其他输出(如身份验证),并且不会在所有情况下都以变量中的 URL 结束。
这是一个工作脚本 ( make-pr.sh
):
#!/bin/bash
pull_request() {
local url="$1"
local title="$2"
local message=$(cat <<-END
$title
- [Story]($url)
END
)
echo "$message"
hub pull-request --browse -m "$message"
}
pull_request "$@"
例子:
$ ./make-pr.sh "https://abc.tld" "A nice title"
A nice title
- [Story](https://abc.tld)
推荐阅读
- javascript - 将图像注释存储在数据库中而不刷新页面
- java - 给定词典的缩写扩展器
- node.js - 在对话流聊天机器人中向用户键入通知
- javascript - JavaScript:对 ASCII 字符串和非 ASCII 字符串的混合数组进行排序
- javascript - FunctionDeclarations 返回什么?[漏洞?]
- android - 向 PDF 添加数字签名,使用远程服务器加载
- bit-manipulation - 在 C 中使用位运算符进行范围检查
- mysql - “无法加载身份验证插件'caching_sha2_password'。找不到特定模块”
- ios - ios按钮仅在点击时显示图像
- php - 在 PHP Server cpanel 中设置启动文件