标签: gitlab-api

语义发布不接受 gitlab 私有存储库上的 GITLAB_TOKEN

这是错误日志消息:

\n
\n

[3:40:55 PM] [语义发布] \xe2\x80\xba \xe2\x9c\x96 命令“git push --dry-run\n--no-verify https://gitlab-ci-令牌:[secure]@[repository-url].git\nHEAD:main" 失败,并显示错误消息远程:不允许您上传代码。\n致命:无法访问 \'https://gitlab-ci- token:[secure]@[repository-url]/\': 请求的 URL 返回错误:403。

\n
\n

GITLAB_TOKEN在存储库设置中设置了所有必要的权限,但似乎它甚至没有被使用:

\n

在此输入图像描述

\n

这是我的.releaserc.json配置:

\n
{\n  "branches": ["main", { "name": "beta", "prerelease": true }],\n  "plugins": [\n    "@semantic-release/commit-analyzer",\n    "@semantic-release/release-notes-generator",\n    "@semantic-release/changelog",\n    "@semantic-release/npm",\n    "@semantic-release/gitlab",\n    [\n      "@semantic-release/git",\n      {\n        "assets": ["package.json", "package-lock.json", "CHANGELOG.md"],\n        "message": "chore(release): ${nextRelease.version} [skip ci]\\n\\n${nextRelease.notes}"\n      }\n    ]\n  ]\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这是我的.gitlab-ci.yml配置:

\n
# NodeJs image\nimage: node:16\n\n# STAGES\nstages:\n  - checks\n  - build\n  - release\n\n# SETUP\nbefore_script:\n  - node -v\n …
Run Code Online (Sandbox Code Playgroud)

gitlab gitlab-ci gitlab-api semantic-release

2
推荐指数
1
解决办法
6218
查看次数

使用 python-gitlab 将文件上传到 Gitlab 时出现问题

我正在尝试使用以下方式将文件上传到我的 gitlab 存储库:

x = project.upload("Jenkinsfile", filepath="./Jenkinsfile")但它对我不起作用,所以

x1 = project.upload("Jenkinsfile", filepath="/media/conde/Trabajo/Trabajo/DevOps/BOMH/bomh/Jenkinsfile"),不行,让我们尝试一下文档示例,因为它不需要文件系统路径,所以它至少要创建一个空的新文件:

x2 = project.upload("filename.txt", filedata="data")

但从未上传文件。每个命令的输出为: x={'url': '/uploads/c52cf003900c7afe6843909317049cc3/Jenkinsfile', 'markdown': 'Jenkinsfile', 'alt': 'Jenkinsfile'}

x1 = {'url': '/uploads/c52cf003900c7afe6843909317049cc3/Jenkinsfile', 'markdown': 'Jenkinsfile', 'alt': 'Jenkinsfile'}

x2 = {'url': '/uploads/3c2a389555609ba08c3bd54bee0e7339/filename.txt', 'markdown': 'filename.txt', 'alt': 'filename.txt'}

文档、API 有什么问题吗?我可以创建存储库、分支并创建一些文件,但不能从我的计算机上传文件。

python gitlab gitlab-api

1
推荐指数
1
解决办法
1935
查看次数

GitLab api:我如何使用 gitlab api 获取项目列表?

我试图使用 Git api 获取 gitlab 中的项目列表。为此,我遵循了 Git lab api 指令。

他们说我可以通过此链接访问项目列表: https://gitlab.com/api/v4/projects ?access_token=some_token 。

但不幸的是,通过上面的链接,我得到了一堆信息,这些信息根本不是我的。我得到了其他用户拥有的信息。

在这种情况下,我如何才能获得自己的项目信息?

然而,响应 JSON 有很多属性。无论如何,我可以根据我的愿望实现该属性吗?

api gitlab-api

1
推荐指数
1
解决办法
2264
查看次数

Gitlab-ci.yml 创建合并请求

我在 DEV 分支中运行了以下 gitlab-ci.yml 文件,目标也为 DEV。由于我无法将 TARGET 指向 MASTER,因此不会创建自动 MR。我想知道是否可以在 gitlab-ci 脚本本身中创建合并请求。

dev:
  stage: deploy
  script:
    - url_host=`git remote get-url origin | sed -e "s/https:\/\/gitlab-ci-token:.*@//g"`
    - git remote set-url origin "https://gitlab-ci-token:${CI_TAG_UPLOAD_TOKEN}@${url_host}"
    - databricks workspace export_dir -o /mynotebooks.
    - git add .
    - git commit -m 'Add notebooks to Repo' -a || true
    - git push origin HEAD:dev
  tags:
    - test
Run Code Online (Sandbox Code Playgroud)

我搜索并引用了我的网站,但看不到任何有关以编程方式创建合并请求的说明。

这个想法是各种开发人员正在开发一个 databrick 集群,并且 gitlab 计划定期运行。更改将被推送到 DEV 分支,并将使用合并请求推送到 MASTER 分支。

我想知道这个 MR 创建是否可以自动化。请新到 GITLAB。

谢谢。

git gitlab gitlab-ci gitlab-api

1
推荐指数
1
解决办法
976
查看次数

使用 Gitlab api 在 Gitlab 存储库中创建标签

我在 GitLab 中有 4 个存储库,名为 Repo1、Repo2、Repo3 和 Repo4

现在我如何使用 GitLab api 为所有 Repo 的 master 分支创建标签 v1.0 ?

git api gitlab devops gitlab-api

1
推荐指数
1
解决办法
3318
查看次数

从Gitlab API获取项目统计信息

我正在使用 Guzzle 访问 Gitlab 的 API,我正在尝试获取我的项目统计信息,但我不知道应该在哪里使用参数“统计信息”。

这就是我到目前为止正在做的事情:

$client = new Client(['base_uri' => 'https://gitlab.com/']);
$projects = $client->request('GET', 'api/v4/projects/PROJECT-ID',
[
    'headers' => [
        'PRIVATE-TOKEN'     => 'TOKEN',
        'statistics'        => 'true'
        ],
]);
Run Code Online (Sandbox Code Playgroud)

API 文档:https://docs.gitlab.com/ce/api/projects.html#get-single-project

谢谢。

laravel guzzle gitlab-api

0
推荐指数
1
解决办法
2843
查看次数

如何从 gitlab 存储库中存储的文件中提取内容

使用 gitlab-python 包,我想从所有 Dockerfile 中提取行。使用下面的代码,我可以获取项目名称和我想要的存储库的 url,但如何确保存在 Dockerfile 并读取 Dockerfile 的内容。

import gitlab
import json
from pprint import pprint
import requests
import urllib.request


# private token authentication
gl = gitlab.Gitlab('<path_to_gitlab_repo>', private_token=<token_here>)

gl.auth()

# list all projects
projects = gl.projects.list()
for project in projects:
    # print(project) # prints all the meta data for the project
    print("Project: ", project.name)
    print("Gitlab URL: ", project.http_url_to_repo)
    # print("Branches: ", project.repo_branches)
    pprint(project.repository_tree(all=True))
    f = urllib.request.urlopen(project.http_url_to_repo)
    myfile = f.read()
    print(myfile)
    print("\n\n")
Run Code Online (Sandbox Code Playgroud)

我现在得到的输出是:

Gitlab URL:  <path_to_gitlab_repo>
[{'id': '0c4a64925f5c129d33557',
  'mode': …
Run Code Online (Sandbox Code Playgroud)

python gitlab dockerfile gitlab-api

0
推荐指数
1
解决办法
9519
查看次数