Gitlab 报错:Error 500 with /api/v4/projects: NoMethodError: undefined method `string_access_level‘

2023-11-01

新安装的gitlab1.14.1版本在调用查询所project的api时,会报如下错误:

NoMethodError: undefined method `string_access_level' for nil:NilClass
  api/entities.rb:276:in `block in <class:Project>'
    expose(:issues_access_level) { |project, options| project.project_feature.string_access_level(:issues) }
  grape_entity/entity.rb:496:in `instance_exec'
    instance_exec(object, options, &block)
  grape_entity/entity.rb:496:in `exec_with_object'
    instance_exec(object, options, &block)
  grape_entity/exposure/block_exposure.rb:10:in `value'
    entity.exec_with_object(options, &@block)
  grape_entity/exposure/base.rb:82:in `valid_value'
    value(entity, options) if valid?(entity)
...
(146 additional frame(s) were not displayed)

NoMethodError: undefined method `string_access_level' for nil:NilClass

 经排查,是因为gitlab本身自带了一个Monitoring的项目,它的项目可见性为内部所致。

解决此问题:

  1. 将该自带的项目删除;
  2. 将该项目的可见性改为私有;
  3. 操作数据库修改

这里介绍第三种怎么修改。

查看数据库信息

cat /var/opt/gitlab/gitlab-rails/etc/database.yml

切换到gitlab-psql账号并登录psql

su - gitlab-psql
psql -h /var/opt/gitlab/postgresql -d gitlabhq_production

报错原因为在project_features表中某个project_id为NULL,通过sql语句找出为NULL的projec_id

SELECT id FROM projects WHERE id NOT IN (SELECT project_id AS id FROM project_features WHERE project_id is NOT NULL);

将该project_id插入到project_features表中解决该问题

insert into project_features(project_id,merge_requests_access_level,issues_access_level,wiki_access_level,snippets_access_level,builds_access_level,created_at,updated_at,pages_access_level) VALUES(1,10,10,10,0,10,now(),now(),10);

注意项目权限(access_level)(对应project_features表中pages_access_level的值):

  1. 10 => Guest access

  2. 20 => Reporter access

  3. 30 => Developer access

  4. 40 => Master access

  5. 50 => Owner access # Only valid for groups

最后,引用一下官方文档作为参考:

https://gitlab.com/gitlab-org/gitlab/-/issues/34367 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Gitlab 报错:Error 500 with /api/v4/projects: NoMethodError: undefined method `string_access_level‘ 的相关文章

随机推荐

  • 排序算法 —— 直接插入排序(图文超详细)

    文章目录 直接插入排序 1 特性 2 步骤 3 代码实现 4 稳定性 直接插入排序 直接插入排序是一个比较简单的排序算法 作用是将一组数排序成升序的 1 特性 元素集合越接近有序 直接插入排序算法的时间效率越高 时间复杂度 O n 2 空间
  • Unity小知识点:unity中的几种坐标转换

    一 Unity中的几种坐标系 世界坐标 Unity中创建的场景是一个3D世界 其中坐标为 0 0 0 的位置为世界原点 其他物体相对于这个点的坐标位置为世界坐标 transform positon是物体相对于世界坐标的位置 相对坐标 某一个
  • 百度地图采用MarkerClusterer生成聚合点,解决海量点造成地图卡顿的问题

    一 问题 最近在做公司的一个项目 需要在百度地图生成海量点 最开始只是把全部的marker一起显示到地图上 因为一次生成的点比较多 会发生地图卡顿等问题 二 解决方案 MarkerClusterer 百度地图 JS API官方文档 Mark
  • Visual Studio 2005 官方使用教程

    http msdn microsoft com zh cn library ms165079 VS 80 aspx Visual Studio 入门
  • 【第6篇】Inception-v4

    文章目录 摘要 1 简介 2 相关工作 3 体系架构的选择 3 1 纯Inception块 3 2 剩余起始块 3 3 残差的缩放 4 训练方法 5 实验结果 6 结论 摘要 论文链接 Inception v4 近年来 非常深度的卷积网络一
  • sharding+druid 读写分离

    ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈 它由Sharding JDBC Sharding Proxy和Sharding Sidecar 计划中 这3款相互独立的产品组成 他们均提供标准化的数据分片 分
  • 通过cmd窗口导入.sql文件来更新Mysql数据库中的数据

    一 使用命令行的原因 有小伙伴说 干嘛要命令行导入sql文件 直接用navicat导入sql它不香吗 那确实是 直到小编导入一个很大的sql文件时 总会出现数据丢失 俺也不知道为啥 要是有小伙伴知道可以科普一下 二 命令行使用流程 1 启动
  • 第三章——隐藏通信隧道技术

    目录 1 网络层隧道 1 pingtunnel 1 在web边界服务器上下载并运行ptunnel 2 在vps上运行ptunnel 3 在win7电脑上远程连接vps的1080端口 2 icmpsh 3 防御ICMP隧道攻击的方法 2 传输
  • SpringBoot事务详解

    文章目录 一 简介 1 介绍 2 事务特点 3 事务实现方式 3 1 MySql事务实现方式 3 2 SpringBoot实现机制 二 Transactional详解 1 Transactional常用配置 2 事务传播行为 3 事务5种隔
  • IP可以正常访问网站、域名无法正常访问

    问题 域名解析都是都是正常的 可以ping通所指向的IP 端口也可以telnet通 但是就是无法正常访问平台 错误提示403 解决方案 将tomcat里面的server配置文件中的defaultHost这个配置属性修改成网站访问的公网IP地
  • 安装ffmpeg并写入jupyter matplotlib

    Jupyter生成动画需要首先安装一个名叫ffmpeg的软件 这是一个支持网页生成视频的软件 进入ffmpeg主页 Builds CODEX FFMPEG gyan dev 点击下载最新版的ffmpeg git full 7z essent
  • Ogre学习记录

    Ogre学习记录 Posted on 2008 07 09 15 36 RichardHe 阅读 839 评论 2 编辑 收藏 引用 所属分类 OGRE 1 设计初衷 它设计初衷是完全跨平台的 抽象的接口隐藏了平台相关的细节 它设计初衷是大
  • 华为云盘古气象(Pangu-Weather)大模型调试运行之小白教程

    0 前言 最近盘古气象大模型研究成果在 Nature 正刊发表 这个消息引起了大家的广泛关注 作为地理模型爱好者 在之前的学习中接触过一些气象预测模型 对此怀有兴趣 而且顺带蹭蹭热度嘛 不丢人 在此分享一下自己的学习过程 笔者水平有限 如有
  • JPM Coin三部曲 (上) :深入理解摩根幣的運作

    全美最大的銀行摩根大通推出首個由美國銀行支持的加密貨幣 有人說這是主流金融機構開始接納加密貨幣的標誌 有人調侃摩根 CEO 傑米 戴蒙一邊炮轟比特幣 一邊忍不住自己發幣 還有密碼朋克旗幟鮮明地抨擊該 全美最大的銀行摩根大通推出首個由美國銀行
  • centos7配置syslog客户端上传日志

    由于客户要求 需要把主机上的syslog传递到指定系统上 之前没有做过相关设置 本次配置是第一次配置 先上网插了下syslog分为很多种 如图 这只是一部分 可以直接到 etc rsyslog conf配置文件中自行查看 根据需求可以选择全
  • 解决VScode中:C/C++编译器错误导致头文件报错问题

    一 软件安装 VScode安装网址 https code visualstudio com 进入网址 直接download即可 VScode软件很好安装 下载完安装包之后 双击安装包 选同意 选下一步 接下来将框中全部打 之后一路 下一步
  • Unity 新手向,如何快速利用插件设置高亮状态

    前言 相信很多小伙伴在开发游戏的过程中 会需要用到物体高亮的效果 效果如图所示 在初学阶段 我们不需要自己去写复杂的shader 而是快速利用插件来解决这一功能的需求 以下是我们本文将会使用到的一款免费的高亮插件 Quick Outline
  • 【廖雪峰python进阶笔记】面向对象编程

    1 定义类并创建实例 在Python中 类通过 class 关键字定义 以 Person 为例 定义一个Person类如下 class Person object pass 按照 Python 的编程习惯 类名以大写字母开头 紧接着是 ob
  • 关于vue导入csv文件格式错误,js-xlsx导入CSV文件中文乱码处理参考

    最近在vue导入csv文件踩的一个坑 废话就不多说了 直接上源码和处理过程 过程 我最近使用js xlsx导入CSV文件时会出现中文乱码 其实这种问题基本上都是因为文件的编码不对造成的 因为使用这个插件用的比较多之前是可以直接使用UTF 8
  • Gitlab 报错:Error 500 with /api/v4/projects: NoMethodError: undefined method `string_access_level‘

    新安装的gitlab1 14 1版本在调用查询所project的api时 会报如下错误 NoMethodError undefined method string access level for nil NilClass api enti