Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Github 如果PR消息正文验证失败,则拒绝拉取请求创建请求_Github_Github Api_Probot_Github App_Octokit Js - Fatal编程技术网

Github 如果PR消息正文验证失败,则拒绝拉取请求创建请求

Github 如果PR消息正文验证失败,则拒绝拉取请求创建请求,github,github-api,probot,github-app,octokit-js,Github,Github Api,Probot,Github App,Octokit Js,如果某些条件失败,有没有办法拒绝拉请求创建? 我正在nodejs和probot中开发一个GitHub应用程序,如果pull请求主体的验证(如检查pull请求主体中是否存在某些模式)失败,我想在开发人员单击“创建pull请求”按钮时拒绝创建pull请求 因此,如果某些验证失败,基本上不应该首先创建Pull请求(用户应该返回到PR创建页面) i、 e.如果pull请求主体(或任何其他逻辑)验证失败,则位于相同的pull请求创建页面 因此,从根本上说,拉请求不应该首先创建 这是不可能的。pull请求的

如果某些条件失败,有没有办法拒绝拉请求创建? 我正在nodejsprobot中开发一个GitHub应用程序,如果pull请求主体的验证(如检查pull请求主体中是否存在某些模式)失败,我想在开发人员单击“创建pull请求”按钮时拒绝创建pull请求

因此,如果某些验证失败,基本上不应该首先创建Pull请求(用户应该返回到PR创建页面)

i、 e.如果pull请求主体(或任何其他逻辑)验证失败,则位于相同的pull请求创建页面

因此,从根本上说,拉请求不应该首先创建

这是不可能的。pull请求的创建是一个原子操作,它不会暂停进行检查,例如Git中的预接收挂钩,您可以分析提交的有效负载,然后根据它失败或添加到repo的响应进行分析

在这里,最好的选择是使用注释自动关闭pull请求,该注释提供了说明和失败的原因。我知道这会导致很多“空”PRs,但这是最接近您的解决方案


您可以做的另一件事是,如果您的逻辑失败,则将pull请求保持打开状态,并将其转换为draft。只有当用户将拉动请求更正为您的标准时,您才会将其切换为非草稿:。当然,在这种情况下,您必须监视更改拉取请求的事件。

谢谢@bitoiu。我将检查这一点,并在很长一段时间后分享我的发现和建议。不知怎的错过了。尝试了你的建议,在我的实现中,如果验证失败,我将关闭PRs。我也认为这是一种解决办法,听起来不是一个好办法。而且,我遇到了“GitHub检查”的概念,并期待着尝试它。至于您关于在验证失败时将PRs转换为草稿PRs的第二个建议,我只是找不到任何方法使用您提到的rest端点“update-a-pull-request”来更改为草稿。状态采用两个值“open”或“closed”中的任何一个,而“Draft”则没有。