将拉取请求构建状态添加到Github

时间:2018-01-18 14:51:32

标签: azure-devops azure-pipelines

我在VSTS中有一个Github的拉取请求触发器。我还想将此触发器添加到Github中的所需检查,并在拉取请求页面上显示构建状态,如下所示。

enter image description here

我还检查了Github上的分支保护页面,但没有可用的状态检查。

enter image description here

是否可以在VSTS中执行此操作,还是需要创建提及here的PR状态服务器?

4 个答案:

答案 0 :(得分:3)

我检查了高级设置=>报告构建状态选项,VSTS自动向Github发送提交状态。

enter image description here

答案 1 :(得分:1)

在Azure DevOps中启用GitHub commit status checks的配置似乎已更改。

  1. 确保为您的组织或存储库安装了Azure Pipelines
  2. 编辑您的Azure DevOps内部版本(管道)
  3. 点击获取来源步骤
  4. 在GitHub配置下,选择报告构建状态
  5. 保存(如果需要,&队列)更新的配置

如果DevOps团队中的某人看到此消息,则默认情况下应启用报告提交状态!

Configure GitHub commit status in Azure DevOps

答案 2 :(得分:0)

VSTS中没有这样的设置,您可以参考此工作流程来执行此操作:

  1. 获取提交
  2. 通过REST API
  3. 创建状态检查上下文

    发布:https://api.github.com/repos/[owner]/[repository]/statuses/[commit sha]

    车身(应用/ JSON):

    {
      "state": "success",
      "target_url": "XXX",
      "description": "Build verify",
      "context": "continuous-integration/vsts"
    }
    

    然后检查分支保护页面中的相关状态检查:

    enter image description here

    注意:target_url可以是徽章URL(在构建定义选项中启用了检查徽章)

    1. 创建构建定义以通过REST API创建状态(与步骤2相同:更改提交sha和body)在VSTS持续集成(启用持续集成)中进行当前提交
    2. 创建构建定义以通过VSTS中的REST API更新当前提交的状态(启用拉取请求验证

答案 3 :(得分:0)

在Jenkins,可以从管道中创建/更新请求状态

script {
    pullRequest.createStatus(status: "success",
                             context: "validate-profiles",
                             description: "Profiles file validated successfully!",
                             targetUrl: "$RUN_DISPLAY_URL")
}

enter image description here

可以通过管道完成许多其他事情,避免显式调用GitHub API

对请求请求发表评论

pullRequest.comment("Your service-profile request is received. Please track ticket progress here: "+ticketData['_links']['web'])

创建标签并向请求请求添加标签

pullRequest.addLabel(env.TICKET_ID)

更新请求请求的标题

pullRequest.setTitle("["+env.TICKET_ID+"] Profile Review Request for "+env.CHANGE_TARGET)