创建新的合并请求线程时引用的 GitLab line_code 是什么

如何解决创建新的合并请求线程时引用的 GitLab line_code 是什么

我正在尝试使用以下端点使用 GitLab api 在文件的特定行上创建关于合并请求的讨论笔记:https://docs.gitlab.com/ee/api/discussions.html#create-new-merge-request-thread

部分负载要求 line_code

属性 输入 必填 描述
position[line_range][start][line_code] string 起始行代码

当我发出 POST 时,我得到以下回复:

    "message": "400 (Bad request) \"Note {:line_code=>[\"can't be blank\",\"must be a valid line code\"],:position=>[\"is incomplete\"]}\" not given"

这是什么line_code?它是某种计算值吗?这里的文档相当模糊。

当我为 merge_request 上的所有当前注释发出 GET 时,我可以看到一些注释具有此 line_code(见下文)。我想弄清楚如何为新笔记创造价值。

 {
        "id": 89,"type": "DiffNote","body": "4","attachment": null,"author": {
            "id": 6,"name": "brian c","username": "bc","state": "active","avatar_url": "https://www.gravatar.com/avatar/f590a9cf57136732dd0cb5z9b1563390?s=80&d=identicon","web_url": "http://gitlab.mycompany.us/thisIsMe"
        },"created_at": "2021-01-11T21:46:23.861Z","updated_at": "2021-01-11T21:46:23.861Z","system": false,"noteable_id": 21,"noteable_type": "MergeRequest","position": {
            "base_sha": "3bf8094f0d54fc70a66698bd582f25c77243de3b","start_sha": "3bf8094f0d54fc70a66698bd582f25c77243de3b","head_sha": "a10e73cf84eae38286df56f4b58fa221d7eefc44","old_path": "b.txt","new_path": "b.txt","position_type": "text","old_line": null,"new_line": 4,"line_range": {
                "start": {
                    "line_code": "aceba96ffdf13ce4cd4171c0248420cc03108ef0_0_4","type": "new","new_line": 4
                },"end": {
                    "line_code": "aceba96ffdf13ce4cd4171c0248420cc03108ef0_0_4","new_line": 4
                }
            }
        },"resolvable": true,"resolved": false,"resolved_by": null,"confidential": false,"noteable_iid": 3,"commands_changes": {}
    },

解决方法

行代码是 hash of the file name + underscore + old line number + underscore + new line number

文档有误。 line_code 仅在您使用 position.line_range 时才需要,它仅用于添加跨越多行差异的差异注释。对于单行差异注释,您不需要处理 line_code。所以它不是必需的参数。您可以只使用 position.old_lineposition.new_line

,

它代表文件中您希望注释出现的行。对于合并请求,评论可以是代码或一般性讨论(尽管 API 名称似乎是倒退的)。

要添加一般讨论评论,您可以使用 Notes API:https://docs.gitlab.com/ee/api/notes.html#create-new-merge-request-note。这看起来像这里的评论:https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52673#note_495396729

要向合并请求中更改的代码添加评论,您可以在此处使用 Discussions API:https://docs.gitlab.com/ee/api/discussions.html#create-new-merge-request-thread。此操作具有设置注释应开始的文件路径和行号、注释适用的范围等的选项。这是代码本身的注释示例:https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52673/diffs#2eda52c44979de93f257b305ada778372eacba0b_6_5

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 <select id="xxx"> SELECT di.id, di.name, di.work_type, di.updated... <where> <if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 <property name="dynamic.classpath" value="tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-