gpt4 book ai didi

jenkins - 如何获取触发我的多分支 Jenkins 构建的 Github PR 的标签列表

转载 作者:行者123 更新时间:2023-12-04 02:58:07 25 4
gpt4 key购买 nike

更准确地说,我需要获取触发我的多分支构建的 PR 的标签列表。是否可以?

我知道 https://github.com/jenkinsci/pipeline-github-plugin但使用了不兼容的 Jenkins 版本和多分支管道。

最佳答案

经过一番调查,我发现了两种获取 PR 标签列表的方法。

  • 需要在 Jenkins Credentials 中为 github 用户进行配置,并且需要分配节点以通过 curl 发送 http 请求。

  • def getLabels() {

    def labels

    def scmHead = jenkins.scm.api.SCMHead.HeadByItem.findHead(currentBuild.rawBuild.getParent())
    def owner = scmHead.getSourceOwner()
    def repo = scmHead.getSourceRepo()
    def prId = scmHead.getId()

    withCredentials([usernamePassword(credentialsId: 'GITHUB_CREDENTIALS_ID', usernameVariable: 'UUU', passwordVariable: 'PPP')]) {
    def json = sh(
    script: "curl -u ${env.UUU}:${env.PPP} https://api.github.com/repos/${owner}/${repo}/issues/${prId}",
    returnStdout: true
    )

    // requires https://plugins.jenkins.io/pipeline-utility-steps plugin
    def prInfo = readJSON(text: json)

    labels = prInfo.labels
    }
    return labels
    }

  • 通过 https://github.com/jenkinsci/pipeline-github-plugin , 需要升级
    Jenkins 高达 v2.128 或更新。

  •      if (env.BRANCH_NAME ==~ /PR-\d+/) {
    pullRequest.labels.each{
    echo "label: $it"
    }
    }

    关于jenkins - 如何获取触发我的多分支 Jenkins 构建的 Github PR 的标签列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51950719/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com