【发布时间】:2021-12-08 03:13:18
【问题描述】:
问题
我的最终目标是拥有我的 sn-ps(包括标题和描述)的离线、可更新副本,以便我可以轻松搜索和使用它们。如何将我的所有 sn-ps 从 Gitlab 获取到我的本地机器?
我使用的Gitlab版本是13.12.10-ee。
我调查的内容
克隆 sn-ps
在 Gitlab 中可以clone snippet contents,但这仅包括与 sn-p 关联的文件。标题和描述被排除在外。
例如当我做git clone git@company.gitlab.com:snippets/$snippet_id.git 时,我只收到与sn-p 相关的文件,而不是标题和描述:
我检查了documentation,但找不到任何关于通过 git 与描述进行交互的提及。
Gitlab API
我发现 Gitlab API 有一个 snippets 端点。但是,当我使用 python-gitlab CLI tool 并使用 gitlab snippet get --id 123 请求单个 sn-p 时,我只得到 ID 和标题。
当我做gitlab snippet content --id 123 时,我只得到与sn-p 关联的文件的内容。
【问题讨论】:
-
太棒了
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/snippets/123"?该文档附带一个示例。could not find any mention of interacting with the description答案是对的:"description": "Ruby test snippet",。 -
太棒了,不,我没有使用该命令,因为我使用 python-gitlab CLI 工具与 gitlab API 交互。它确实返回了描述,不幸的是我需要对其进行后处理以提取描述。如果您愿意,可以将其作为答案,谢谢!
-
它可以为你做到这一点,只需
gitlab -f description,但最好还是使用一些 json 解析器 -
谢谢,我不明白
-f参数的用法,因为它只能与 json 或 yaml 输出结合使用。随意张贴作为答案。
标签: gitlab git-clone gitlab-api