如何使用极狐GitLab 的外部状态检查功能?

news2025/4/26 11:24:41

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有:

  • 极狐GitLab 中文文档
  • 极狐GitLab 中文论坛
  • 极狐GitLab 官网

外部状态检查 (ULTIMATE ALL)

  • pending 状态引入于极狐GitLab 16.5

  • pending 状态检查的超时时间为两分钟引入于极狐GitLab 16.6。

状态检查是向外部系统发出的API调用,目的是请求外部要求的状态。

您可以创建一个状态检查,将合并请求数据发送到第三方工具。当用户创建、更改或关闭合并请求时,极狐GitLab 会发送通知。用户或自动化工作流可以在极狐GitLab 之外更新合并请求的状态。

通过此集成,您可以与第三方工作流工具(如 ServiceNow 或您选择的自定义工具)进行集成。第三方工具响应一个相关的状态。该状态将作为非阻塞小部件显示在合并请求中,显示该状态下合并请求的作者或审阅者,直接在合并请求级别。

您可以为每个单独的项目配置合并请求状态检查。这些设置在项目之间不共享。

如果状态检查在两分钟内仍处于 pending 状态,则会失败。

限制合并请求的合并,除非所有状态检查已通过

  • 引入于极狐GitLab 15.5 通过一个标志 名为 only_allow_merge_if_all_status_checks_passed。默认禁用。
  • 在 JihuLab.com 启用于 GitLab 15.8。
  • 在私有化部署版本中启用,并且功能标志已移除于极狐GitLab 15.9。

默认情况下,即使外部状态检查失败,项目中的合并请求也可以被合并。要阻止外部检查失败时合并合并请求:

1.在左侧边栏中,选择 搜索或转到 并找到您的项目
2.选择 设置 > 合并请求
3.选中 状态检查必须成功 复选框。
4.选择 保存更改

生命周期

外部状态检查有一个 异步 工作流。每当合并请求被更新、关闭、重新打开、批准、取消批准或合并时,合并请求都会向外部服务发送一个合并请求的 Webhook 负载。

当合并请求被更新、关闭、重新打开、批准、取消批准或合并时。
当代码被推送到合并请求的源分支时。

sequenceDiagram
Merge request->>+External service: Merge request payload
External service-->>-Merge request: Status check response
Note over External service,Merge request: Response includes SHA at HEAD

当接收到有效负载时,外部服务可以运行所需的过程,然后使用 REST API 将其响应发布回合并请求。

如果响应未指向当前源分支的 HEAD 提交,合并请求将返回 409 Conflict 错误。因此,外部服务可以安全地处理并响应过时的提交。
外部状态检查有以下状态:

  • pending - 默认状态。合并请求尚未收到外部服务的响应。

  • passed - 已收到外部服务的响应,并且该响应已被批准。

  • failed - 已收到外部服务的响应,并且该响应已被拒绝。

如果在 GitLab 之外发生更改,您可以使用 API 设置外部状态检查的状态。您无需等待先发送合并请求的 Webhook 有效负载。

查看状态检查服务

要查看添加到项目中的状态检查服务列表,您可以通过合并请求设置进行查看:

1.在左侧边栏中,选择 搜索或跳转 并找到您的项目。
2.选择 设置 > 合并请求
3.向下滚动到 状态检查。此列表显示了服务名称、API URL、目标分支以及 HMAC 身份验证状态。
在这里插入图片描述

您还可以通过 分支规则 设置查看状态检查服务列表。

添加或更新状态检查服务

添加状态检查服务

状态检查 子部分中,选择 添加状态检查 按钮。然后会显示 添加状态检查 表单。
在这里插入图片描述

填写表单并选择 添加状态检查 按钮后,将创建一个新的状态检查。

更新状态检查服务

状态检查 子部分中,选择您想编辑的状态检查旁边的 编辑 ({铅笔})。然后会显示 更新状态检查 表单。

NOTE:您无法查看或修改 HMAC 共享密钥的值。要更改共享密钥,您需要删除并使用新值重新创建外部状态检查。

更改表单中的值并选择 更新状态检查 按钮即可更新状态检查。

表单值

有关常见表单错误,请参见下面的 故障排除 部分。

服务名称

此名称可以是任何字母数字值,必须 设置。名称 必须 对项目唯一。
该名称 必须 对项目唯一。

检查 API

此字段需要一个 URL,必须 使用 HTTP 或 HTTPS 协议。
我们 推荐 使用 HTTPS 来保护合并请求数据的传输。
URL 必须 设置并且 必须 对项目唯一。

目标分支

如果您想将状态检查限制为单个分支,可以使用此字段来设置此限制。
在这里插入图片描述

分支列表来自项目的 保护分支。

您可以滚动浏览分支列表,或者在有很多分支且您要找的分支未立即出现时使用搜索框。搜索框需要输入 三个 字符来开始搜索。

如果您希望状态检查适用于 所有 合并请求,您可以选择 所有分支 选项。

HMAC 共享密钥

HMAC 身份验证可以防止请求篡改,并确保它们来自合法来源。

删除状态检查服务

状态检查 子部分中,选择您想删除的状态检查旁边的 移除 ({移除})。然后会显示 删除状态检查? 模态框。
在这里插入图片描述

要完成状态检查的删除,您必须选择 移除状态检查 按钮。此操作 永久 删除状态检查,且 不可恢复

状态检查小部件

  • 极狐GitLab 15.2 更新了 UI 更新。
  • 极狐GitLab 15.8 添加了重试失败的外部状态检查功能。
  • 极狐GitLab 15.11 更新了小部件更新,以在状态检查待定时轮询更新。

状态检查小部件显示在合并请求中,显示以下状态:

  • 待定 ({状态中立}),表示 GitLab 等待来自外部状态检查的响应。

  • 成功 ({状态成功})失败 ({状态失败}),表示 GitLab 收到来自外部状态检查的响应。

当存在待定的状态检查时,小部件会每隔几秒轮询更新,直到收到 成功失败 响应。

要重试失败的状态检查:

1.在左侧边栏中,选择 搜索或跳转 并找到您的项目。
2.选择 代码 > 合并请求 并找到您的合并请求。
3.向下滚动到合并请求报告部分,展开下拉列表显示外部状态检查列表。
4.在失败的外部状态检查行上选择 重试 ({重试})。该状态检查将恢复为待定状态。

一个组织可能有不允许在外部状态检查不通过时合并合并请求的政策。然而,小部件中的详细信息仅供参考。

NOTE:极狐GitLab 无法保证外部状态检查由相关的外部服务正确处理。

故障排除

重复值错误
名称已被占用
---
外部 API 已被另一个状态检查使用

对于每个项目,状态检查只能使用一次名称或 API URL。

这些错误意味着该项目的状态检查中,名称或 API URL 已经被使用。

您必须选择不同的值用于当前的状态检查,或者更新现有状态检查中的值。

无效的 URL 错误
请提供有效的url

API to check 字段要求提供的 URL 必须使用 HTTP 或 HTTPS 协议。
您必须更新该字段的值以满足此要求。

获取或搜索分支时的错误
无法获取分支列表,请关闭表单并再次尝试。

从外部状态检查 API 收到意外的响应。

您可以尝试以下操作:

  • 刷新页面,以防此错误是暂时性的。
  • 如果问题持续存在,请检查 GitLab 状态页面,查看是否存在更广泛的故障。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2343212.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Langchain】RAG 优化:提高语义完整性、向量相关性、召回率--从字符分割到语义分块 (SemanticChunker)

RAG 优化:提高语义完整性、向量相关性、召回率–从字符分割到语义分块 (SemanticChunker) 背景:提升 RAG 检索质量 在构建基于知识库的问答系统(RAG)时,如何有效地将原始文档分割成合适的文本块(Chunks&a…

深入剖析扣子智能体的工作流与实战案例

前面我们已经初步带大家体验过扣子工作流,工作流程是 Coze 最为强大的功能之一,它如同扣子中蕴含的奇妙魔法工具,赋予我们的机器人处理极其复杂问题逻辑的能力。 这篇文章会带你更加深入地去理解并运用工作流解决实际问题 目录 一、工作流…

基于K8s日志审计实现攻击行为检测

K8s日志审计以一种事件溯源的方式完整记录了所有API Server的交互请求。当K8s集群遭受入侵时,安全管理员可以通过审计日志进行攻击溯源,通过分析攻击痕迹,找到攻击者的入侵行为并还原攻击者的攻击路径,修复安全问题。 在本篇文章中…

【Linux网络编程】应用层协议HTTP(实现一个简单的http服务)

目录 前言 一,HTTP协议 1,认识URL 2,urlencode和urldecode 3,HTTP协议请求与响应格式 二,myhttp服务器端代码的编写 HTTP请求报文示例 HTTP应答报文示例 代码编写 网络通信模块 处理请求和发送应答模块 结…

短视频+直播商城系统源码全解析:音视频流、商品组件逻辑剖析

时下,无论是依托私域流量运营的品牌方,还是追求用户粘性与转化率的内容创作者,搭建一套完整的短视频直播商城系统源码,已成为提升用户体验、增加商业变现能力的关键。本文将围绕三大核心模块——音视频流技术架构、商品组件设计、…

STM32定时器---基本定时器

目录 一、定时器的概述 二、时基单元 三、基本定时器的的时序 (1)预分频器时序 (2)计数器时序 四、基本定时器的使用 一、定时器的概述 在没有定时器的时候,我们想要延时往往都是写一个Delay函数,里面…

大模型微调 - transformer架构

什么是Transformer Transformer 架构是由 Vaswani 等人在 2017 年提出的一种深度学习模型架构,首次发表于论文《Attention is All You Need》中 Transformer 的结构 Transformer 编码器(Encoder) 解码器(Decoder) …

Sentinel数据S2_SR_HARMONIZED连续云掩膜+中位数合成

在GEE中实现时,发现简单的QA60是无法去云的,最近S2地表反射率数据集又进行了更新,原有的属性集也进行了变化,现在的SR数据集名称是“S2_SR_HARMONIZED”。那么: 要想得到研究区无云的图像,可以参考执行以下…

HTMLCSS模板实现水滴动画效果

.container 类:定义了页面的容器样式。 display: flex:使容器成为弹性容器,方便对其子元素进行布局。justify-content: center 和 align-items: center:分别使子元素在水平和垂直方向上居中对齐。min-height: 100vh:设…

【数据可视化艺术·应用篇】三维管线分析如何重构城市“生命线“管理?

在智慧城市、能源管理、工业4.0等领域的快速发展中,地下管线、工业管道、电力通信网络等“城市血管”的复杂性呈指数级增长。传统二维管理模式已难以应对跨层级、多维度、动态变化的管线管理需求。三维管线分析技术应运而生,成为破解这一难题的核心工具。…

【MinerU】:一款将PDF转化为机器可读格式的工具——RAG加强(Docker版本)

目录 创建容器 安装miniconda 安装mineru CPU运行 GPU加速 多卡问题 创建容器 构建Dockerfile文件 开启ssh服务,设置密码为1234等操作 # 使用官方 Ubuntu 24.04 镜像 FROM ubuntu:24.04# 安装基础工具和SSH服务 RUN apt-get update && \apt-get ins…

Appium自动化开发环境搭建

自动化 文章目录 自动化前言 前言 Appium是一款开源工具,用于自动化iOS、Android和Windows桌面平台上的本地、移动web和混合应用程序。原生应用是指那些使用iOS、Android或Windows sdk编写的应用。移动网页应用是通过移动浏览器访问的网页应用(appum支持iOS和Chrom…

C++学习-入门到精通-【1】C++编程入门,输入/输出和运算符

C学习-入门到精通-【1】C编程入门,输入/输出和运算符 C编程入门,输入/输出和运算符 C学习-入门到精通-【1】C编程入门,输入/输出和运算符第一个C程序:输出一行文本算术运算 第一个C程序:输出一行文本 // 文本打印程序…

面向高性能运动控制的MCU:架构创新、算法优化与应用分析

摘要:现代工业自动化、汽车电子以及商业航天等领域对运动控制MCU的性能要求不断提升。本文以国科安芯的MCU芯片AS32A601为例,从架构创新、算法优化到实际应用案例,全方位展示其在高性能运动控制领域的优势与潜力。该MCU以32位RISC-V指令集为基…

某地农产品交易中心钢网架自动化监测项目

1. 项目简介 本项目规划建设现代物流产业园,新建6万平方米仓库,具体为新建3栋钢构仓库2万平方米,2栋砖混结构仓库1万平方米,3栋交易中心2万平方米,改造现有3栋3层砖混结构仓库1万平方米,配备智能化仓库物流…

【无人机】无人机位置估计出现偏差的原因分析

目录 #0、原因分析 #1、过度振动的测定 #2、确定过度陀螺仪偏差 #3、偏航精度差的测定 #4、确定 GPS 精度差 #5、确定 GPS 数据丢失 #6、气压计地面效应补偿 #0、原因分析 位置背离的最常见原因是: 参考:Using the ECL EKF | PX4 Guide (v1.15)…

element-plus(vue3)表单el-select下拉框的远程分页下拉触底关键字搜索实现

一、基础内核-自定义指令 1.背景 2.定义 3.使用 4.注意 当编辑时需要回显,此时由于分页导致可能匹配不到对应label文本显示,此时可以这样解决 二、升级使用-二次封装组件 三、核心代码 1.自定义指令 定义 ----------------selectLoadMoreDirective.…

轻松完成视频创作,在线视频编辑器,无需下载软件,功能多样实用!

小白工具的在线视频编辑https://www.xiaobaitool.net/videos/edit/ 功能丰富、操作简便,在线裁剪或编辑视频工具,轻松完成视频创作能满足多种视频编辑需求。 格式支持广泛:可编辑超百种视频格式,基本涵盖常见和小众视频格式&#…

豆瓣图书数据采集与可视化分析(三)- 豆瓣图书数据统计分析

文章目录 前言一、数据读取与保存1. 读取清洗后数据2. 保存数据到CSV文件3. 保存数据到MySQL数据库 二、不同分类统计分析1. 不同分类的图书数量统计分析2. 不同分类的平均评分统计分析3. 不同分类的平均评价人数统计分析4. 不同分类的平均价格统计分析5. 分类综合分析 三、不同…

c++进阶——类与继承

文章目录 继承继承的基本概念继承的基本定义继承方式继承的一些注意事项 继承类模板 基类和派生类之间的转换继承中的作用域派生类的默认成员函数默认构造函数拷贝构造赋值重载析构函数默认成员函数总结 不能被继承的类继承和友元继承与静态成员多继承及其菱形继承问题继承模型…