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 发送通知 的相关文章

随机推荐

  • 通过转发构造函数参数构建基于可变参数模板的 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