【问题标题】:MultiBranch pipeline github webhookMultiBranch 管道 github webhook
【发布时间】:2024-01-13 11:10:01
【问题描述】:

标题几乎说明了一切。我看过这些:

How to trigger Multibranch Pipeline build with github webhook
https://support.cloudbees.com/hc/en-us/articles/224543927-GitHub-webhook-configuration
https://support.cloudbees.com/hc/en-us/articles/115003019232-GitHub-Webhook-Pipeline-Multibranch

我在 jenkins 中有一个 github 服务器设置,但无法在多分支源中选择它(如其中一个链接所示),它要求提供凭据,但下拉列表中没有凭据。

我还设置了一个 github webhook,但我认为它没有任何区别

【问题讨论】:

    标签: linux jenkins github jenkins-pipeline webhooks


    【解决方案1】:

    因此,您只需添加(创建)此凭据即可在下拉列表中选择它们。它可以是 API 密钥或 SSH 密钥。您的链接之一包括手册如何生成 API 密钥:

    您需要在此处添加的每个 GitHub/GitHub Enterprise Server 的凭据。 Jenkins 需要个人 API 令牌才能通过 webhook 与 GitHub 进行交互。 可以手动或自动创建此令牌(请参阅下一节)。 来自用户的凭据:存储库级别需要管理员权限,但需要所有者角色才能在组织级别创建它;要更新提交状态/读取协作者列表,需要写入权限。 您可以在 GitHub Permissions and API token Scopes for Jenkins 中找到有关 GitHub 令牌权限的更多信息。

    设置凭据 如上一节所述,插件需要一个令牌才能工作。您可以选择让 Jenkins 代表您创建令牌,也可以手动创建。

    让 Jenkins 创建令牌:此选项仅在您不使用双因素身份验证时可用。 您可以通过转到高级 > 管理其他 GitHub 操作 > 将登录名和密码转换为令牌来让 Jenkins 生成令牌。

    自己生成令牌:首先生成一个令牌(请务必阅读上一节以了解授予哪些权限)。然后在 Credentials 部分(在 API URL 下)创建一个 Secret Text 类型的 Credential 并将您生成的令牌作为机密文本。

    您可以在此处找到有关 GitHub 令牌权限的更多信息:https://support.cloudbees.com/hc/en-us/articles/234710368-GitHub-User-Scopes-and-Organization-Permission

    希望对你有帮助。

    【讨论】:

    • 正如我所说,下拉列表中没有。我已经创建了凭据,甚至验证了这些凭据
    • 尝试去你的多分支项目中的凭证设置和那里的 Github 凭证。
    【解决方案2】:

    我需要创建用户名等于用户名和密码等于 github 令牌的凭据

    【讨论】:

    • 感谢您的回答。解决了我的问题。