Jenkins 向错误的提交 ID 发送通知

2024-04-09

我有几个 Jenkins 管道,所有管道都从 Bitbucket 导入共享库以实现某些实用方法,并且我想将构建状态通知发送到每个项目自己的 Bitbucket 存储库。

我安装了Bitbucket 构建状态通知器 https://plugins.jenkins.io/bitbucket-build-status-notifier插件,但我遇到了一个奇怪的行为:当bitbucketStatusNotify在我的管道中被调用,会发生这种情况:

Sending build status INPROGRESS for commit <sha> to BitBucket is done!

那没问题,但是<sha>是共享库上最后一次提交的提交 ID,而不是正在构建的实际项目上的提交 ID,因此构建状态通知实际上被发送到共享库存储库,而不是正确的存储库。

我认为这是在 Jenkins 配置中将库设置为“隐式加载”的问题,所以我尝试使用显式加载它@Library在我的詹金斯文件中,但发生了相同的行为。

由于构建状态通知程序插件无法指定要发送通知的提交 ID,因此我是否缺少某些内容来让它将通知发送到正确的提交 ID?


以下是 Bitbucket 云的示例:

首先在Jenkins上安装HTTP Request插件

然后使用以下管道代码:

void notifyBitbucket(state)
{
    def object_data = "{\"state\": \"${state}\",\"key\": \"${env.JOB_NAME} ${currentBuild.displayName}\",\"name\": \"${env.JOB_NAME} ${currentBuild.displayName}\",\"url\": \"https://jenkins/job/${env.JOB_NAME}/${currentBuild.number}/\",\"description\": \"\"}"
    def response = httpRequest authentication: '<credential ID>', acceptType: 'APPLICATION_JSON', contentType: 'APPLICATION_JSON', httpMode: 'POST', requestBody: object_data, url: "https://api.bitbucket.org/2.0/repositories/<user name>/<repo>/commit/<commit id>/statuses/build"
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jenkins 向错误的提交 ID 发送通知 的相关文章

  • Jenkins - Xcode 构建工作协同设计失败

    下面是我的构建脚本 不使用 xcodebuild 插件 构建步骤工程 我使用所需的证书和私钥创建了一个单独的钥匙串 它们在钥匙串访问中可见 脚本中的钥匙串命令不会失败 安全列表钥匙串将这些显示为有效的钥匙串 它的表现就像解锁命令并未真正成功
  • 从 BitBucket 请求 OAuth 令牌

    在过去的 4 个小时里 我一直在尝试将 BitBucket 集成到我的应用程序中 但没有成功 在阅读的过程中BitBucket 的 RESTful API 文档 https confluence atlassian com display
  • 具有 Azure Active Directory 身份验证的 Jenkins:REST API 访问不适用于不记名令牌

    我需要使用 python 代码访问 Jenkins REST API 需要一些有关正确方法的指导 我在 apache tomcat 中托管了 jenkins v2 176 1 并启用了 SSL 我已根据以下内容配置了 Azure AD 身份
  • 使用多分支管道触发詹金斯构建标签创建

    我有一个舞台我的詹金斯文件 https github com ryandawsonuk activiti build blob 5d60df0b0e1410f901c64313d90e7aa03054c1df Jenkinsfile L79
  • 使用 Ruby 验证 Jenkins 插件表单

    我正在用 Ruby 开发一个 Jenkins 插件 您应该能够配置连接到服务器的每个节点 以便在该节点失去与主服务器的连接时将电子邮件发送到指定的地址 EmailNodeProperty添加一个字段来输入电子邮件地址 Save an ema
  • Jenkins 执行 PowerShell 脚本

    我正在尝试从 Jenkins 运行 PowerShell 脚本 但它似乎完全忽略了执行策略 可以通过直接执行 powershell exe 或使用PowerShell插件 https wiki jenkins ci org display
  • 在 Cloudbees Jenkins 文件夹中设置环境变量

    在我重新安装 Jenkins 和 Cloudbees Free Enterprise 插件后 Jenkins 文件夹中设置的环境变量停止工作并从配置 UI 中消失 但是 它仍然存在于文件系统上的 config xml 中 如下所示
  • 如何从 Jenkins 管道中的函数返回“allOf”的值

    我们有一个 Jenkins 管道设置 使用 Jenkinsfile 来定义不同构建需要做什么 在我们的很多阶段 当我们要发布版本时 我们需要完成一些工作 但如果不打算发布版本 则可以跳过这些工作 目前我们有这样的代码 when allOf
  • Jenkins git 插件 - 有时太慢

    以下内容摘自 Jenkins 日志 00 00 03 135 gt git fetch tags progress email protected cdn cgi l email protection some org some repo
  • 如何在 Jenkins 中安排构建?

    如何安排 Jenkins 构建 使其只能在每天的特定时间进行构建 例如下午 4 点开始 0 16 1 7 我理解为 每个月周一到周日下午 0 分钟 下午 4 点 但是它每分钟都会构建 如果有任何建议 我将不胜感激 谢谢 Update 请阅读
  • Jenkins Pipeline:在构建日志控制台中启用时间戳

    如何显示多分支管道项目的每一行的构建时间戳 它是受支持的功能吗 如果是 是否需要在Jenkinsfile或者有 GUI 选项吗 向声明性管道添加选项 pipeline agent any options timestamps stages
  • 使用 Jenkins API 促进构建

    给定一个具有不同升级作业的 Jenkins 构建作业 即 将构建升级到不同的环境 如何使用 Jenkins API 触发特定构建的特定升级作业 综合不同来源的答案得出 Username Username APItoken 12345 Cre
  • 让 gradle 执行 JUnit 测试(Android 应用程序、Android Studio)

    我目前正在开发一个 Android 应用程序 最近从 Eclipse 切换到 Android Studio 不是我的想法 不过 我想配置 jenkins 服务器来定期运行 JUnit 测试和其他测试 为了实现这一点 我尝试配置一个 grad
  • Jenkins中找不到环境变量

    我想在詹金斯中设置很多变量 我试过把它们放进去 bashrc bash profile and profile of the jenkins用户 但 Jenkins 在构建发生时找不到它们 唯一有效的方法是将所有环境变量放入Jenkinsf
  • 在docker容器中运行Jenkins有什么优势

    我发现了很多关于如何运行你的博客Jenkins in Docker但没有人真正解释这样做的好处 这是我发现的唯一原因 使用 Docker 的理由 https twasink net 2016 08 01 setting up a jenki
  • 访问 jelly 模板中的自定义环境变量

    使用 Jenkins 管道 您可以通过以下方式设置任何环境变量全局变量称为 env 果冻模板反过来 您可以访问 Jenkins API 包括hudson model AbstractBuild and hudson model Abstra
  • Jenkins 共享库 - 从 /vars 中的 /src 文件夹导入类

    我正在尝试为我的 CI 流程编写一个 Jenkins 共享库 我想引用一个类 src定义在全局函数内的文件夹 vars文件夹 因为它允许我将大部分逻辑放在类中而不是全局函数中 我遵循 Jenkins 官方文档中记录的存储库结构 Jenkin
  • 如何将 Hudson/Jenkins 参数传递给 Windows 批处理命令

    好吧 我需要在我的 Hudson 作业中执行一个批处理文件 我有一个参数 Jenkis 参数 我需要将这个值 如参数 传递给批处理文件 我尝试了以下操作 Deploy cmd configuration DEPLOYCONFIGURATIO
  • 有 JUnit Attachments Jenkins 插件工作的示例吗?

    在过去一个小时左右的时间里 我一直在努力让以下工作正常进行 我将附件存储在目标目录中 但它们在班级级别或测试级别的测试页面上都没有链接 我尝试了以下每种组合 放置附件文件夹target surefire reports class 与目标
  • Jenkins:如何使由于工作区问题而导致的失败构建的颜色从红色变为灰色?

    我们的詹金斯构建应该只是red当有一个构建代码时出现问题比如编译问题 如果存在管理员问题 例如工作空间已满 某些从属设备已关闭 我们需要将这份工作变成gray 表明有一个詹金斯本身的问题 但开发商应该not保持高度戒备 这是一个需要将作业变

随机推荐

  • 通过转发构造函数参数构建基于可变参数模板的 mixin

    我正在尝试构建一个 mixin 模板 其基础全部作为可变参数模板参数传递 我想通过将每个 mixin 类的构造函数参数作为参数传递给可变参数模板构造函数来构造 mixin 当使用每个 mixin 类类型的对象调用时 可变参数模板构造函数会进
  • 在 Objective-C 中观察文件或文件夹

    侦听文件夹或文件以查看其是否已保存或是否已添加新文件的最佳方法是什么 如果您只想监视目录但不处理单个文件的监视 那么 FSEvents API 是理想的选择 Stu Connolly 有一个很棒的 FSEvents C API 的 Obje
  • 如何使用“%f”将双精度值填充到具有正确精度的字符串中

    我正在尝试使用 a 来填充带有双精度值的字符串sprintf像这样 sprintf S f val 但精度被截断至小数点后六位 我需要大约 10 位小数来保证精度 如何才能做到这一点 宽度 精度 宽度应包括小数点 8 2表示8个字符宽 点前
  • UIButton 在 UIScrollView 中时不起作用

    我的观点结构 UITableView UITableViewCell UIScrollView CustomView UIButton 问题是当我触摸 UIButton 时它不起作用 我用代码创建它 btn UIButton alloc i
  • 继续打开 OpenFileDialog 直到选择有效文件

    我有打开 OpenFileDialog 的代码 我正在检查文件的大小以确保它不超过特定限制 但是 如果用户选择了一个大尺寸的文件 我需要警告他并引导他返回对话框以选择不同的文件或单击 取消 这是我尝试过的 OpenFileDialog di
  • 获取 PHP 中动态选择的类常量的值

    我希望能够做这样的事情 class ThingIDs const Something 1 const AnotherThing 2 thing Something id ThingIDs thing 这是行不通的 有没有一种简单的方法可以做
  • 调试 Windows 消息内容和目标的好方法是什么?

    我正在开发一个基于其他行为模拟 Windows 鼠标的应用程序 一个示例是按键盘上的 或 键将 WM MOUSEWHEEL 消息发送到具有适当增量的目标窗口 问题是 在某些情况下 我很难复制那些消息i thinkwindows 正在发送到目
  • CUDA:如何检查计算能力是否正确?

    使用较高计算能力编译的 CUDA 代码将在计算能力较低的设备上完美执行很长一段时间 然后有一天在某些内核中默默地失败 我花了半天时间追寻一个难以捉摸的错误 结果发现构建规则已经sm 21而该设备 Tesla C2050 是2 0 是否有任何
  • 如何在 HTML 中打印每个项目之间有延迟的列表

    Id for each item p p p p p p
  • 如何在 Asp.Net-MVC 中添加自定义 HTTP 标头

    我创建了一个自定义处理程序 如下所示 public class SitHandler DelegatingHandler protected override async Task
  • facebook php,如何使用结果分页?

    您好 我正在使用 Facebook PHP SDK v 3 1 1 我不明白如何使用结果分页 url 我想获取我所有朋友的列表 这是我的代码 friends fb gt api me friends friend Array data gt
  • Invalid Uri : uri 方案无效

    我正在尝试通过 WebRequest 登录网站 我此时遇到异常 WebRequest req WebRequest Create formUrl Trim string url string username string password
  • iOS 6 中使用 AudioFileServices 进行粒度合成

    我对我正在开发的声音合成应用程序有疑问 我正在尝试读取音频文件 使用创建随机 颗粒 颗粒合成技术 http en wikipedia org wiki Granular synthesis 将它们放入输出缓冲区 然后能够使用 OpenAL
  • 带有 ASP.NET 的 Google 日历 API

    我对使用 Google Calendar API 在 ASP NET Webforms C 中添加 修改事件感到困惑 我不确定我是否需要 oAuth 或者什么 我的应用程序位于我自己的服务器上 访问我自己的域和我自己的日历 我不需要其他用户
  • R:将矩阵重新排列为三列

    我在 R 中有一个矩阵 每个条目i j是分数 rownames 和 colnames 是 id 我只想要一个 3 列矩阵 而不是矩阵 i j score 现在我正在使用嵌套 for 循环 喜欢 for i in rownames g pri
  • 关于PE的魔数

    0x10b PE32 executable 0 107 ROM image 0x20b PE32 64 bit executable 是什么ROM image 有趣的问题 我涉足过操作 PE 文件 但从未注意到这一点 我认为它们的用途如下
  • 修改 tar 存档中嵌套的文件

    我正在尝试做一个grep然后一个sed搜索文件内的特定字符串 这些文件位于多个 tar 内 全部位于一个主 tar 存档内 现在 我通过以下方式修改文件 首先解压主 tar 存档 然后将里面的焦油全部提取出来 然后进行递归grep进而sed
  • JavaScript 正则表达式排除某些单词/短语?

    如何编写正则表达式模式来测试字符串是否包含多个具有以下结构的子字符串 cake xxx xxx 是哪里任何但不是 奶酪 或 牛奶 或 黄油 例如 I have a cake honey and cake egg 应该返回true but I
  • 防止 WPF 窗口最小化(主要是 Winkey + D)

    我有一个应该像 Windows Vista 小工具一样运行的窗口 它应该保留在桌面上 而不是出现在任务栏和 alt tab 菜单上 但最重要的是 不要最小化 这是它的标题 由于其样式设置为 None 因此它没有控制按钮 最小化 关闭等 但仍
  • Jenkins 向错误的提交 ID 发送通知

    我有几个 Jenkins 管道 所有管道都从 Bitbucket 导入共享库以实现某些实用方法 并且我想将构建状态通知发送到每个项目自己的 Bitbucket 存储库 我安装了Bitbucket 构建状态通知器 https plugins