使用Python3实现Gitee码云自动化发布

仓库信息

https://gitee.com/liumou_site/ip

实现代码

python 复制代码
import os

import requests
from loguru import logger


def gitee(ver, message, prerelease: bool = False):
	"""
    在 Gitee 上创建发布版本

    :param ver: 版本号
    :param message: 发布信息
    :param prerelease: 是否为预发布版本,默认为 False
    :return: 无
    """
	# 配置信息
	GITEE_ACCESS_TOKEN = os.getenv('GITEE_ACCESS_TOKEN')
	if GITEE_ACCESS_TOKEN is None:
		print("请设置环境变量 GITEE_ACCESS_TOKEN")
		exit(1)
	logger.debug("GITEE_ACCESS_TOKEN: " + GITEE_ACCESS_TOKEN)
	OWNER = 'liumou_site'
	REPO = 'ip'
	TAG_NAME = f'v{ver}'
	NAME = f'Version {ver}'

	# 构建请求 URL
	url = f'https://gitee.com/api/v5/repos/{OWNER}/{REPO}/releases'


	# 构建请求体
	data = {
		'tag_name': TAG_NAME,
		'name': NAME,
		'body': message,
		'target_commitish': 'master',
		'owner': OWNER,
		'repo': REPO,
		'prerelease': prerelease,
		'access_token': GITEE_ACCESS_TOKEN
	}

	# 发送 POST 请求
	response = requests.post(url, data=data)

	# 检查响应
	if response.status_code == 201:
		logger.info('Release created successfully!')
		logger.info(response.json())
	else:
		logger.error(f'Failed to create release: {response.status_code}')
		logger.error(response.text)
		logger.error(response.request)
		exit(2)


if __name__ == '__main__':
	gitee(ver='1.0.9', message='master', prerelease=False)

效果

powershell 复制代码
"D:\Program Files\Python313\python.exe" D:\code\gitee\go\ip\gitee.py 
2024-11-21 10:36:57.933 | DEBUG    | __main__:gitee:21 - GITEE_ACCESS_TOKEN: 7ac..........
2024-11-21 10:36:58.406 | INFO     | __main__:gitee:48 - Release created successfully!
2024-11-21 10:36:58.407 | INFO     | __main__:gitee:49 - {'id': 450710, 'tag_name': 'v1.0.9', 'target_commitish': '28a5383f0cc7103546c805100b4a0d68e40547c8', 'prerelease': False, 'name': 'Version 1.0.9', 'body': 'master', 'author': {'id': 1785140, 'login': 'liumou_site', 'name': '坐公交也用券', 'avatar_url': 'https://foruda.gitee.com/avatar/1673661977951995067/1785140_liumou_site_1673661977.png', 'url': 'https://gitee.com/api/v5/users/liumou_site', 'html_url': 'https://gitee.com/liumou_site', 'remark': '', 'followers_url': 'https://gitee.com/api/v5/users/liumou_site/followers', 'following_url': 'https://gitee.com/api/v5/users/liumou_site/following_url{/other_user}', 'gists_url': 'https://gitee.com/api/v5/users/liumou_site/gists{/gist_id}', 'starred_url': 'https://gitee.com/api/v5/users/liumou_site/starred{/owner}{/repo}', 'subscriptions_url': 'https://gitee.com/api/v5/users/liumou_site/subscriptions', 'organizations_url': 'https://gitee.com/api/v5/users/liumou_site/orgs', 'repos_url': 'https://gitee.com/api/v5/users/liumou_site/repos', 'events_url': 'https://gitee.com/api/v5/users/liumou_site/events{/privacy}', 'received_events_url': 'https://gitee.com/api/v5/users/liumou_site/received_events', 'type': 'User'}, 'created_at': '2024-11-21T10:36:58+08:00', 'assets': [{'browser_download_url': 'https://gitee.com/liumou_site/ip/archive/refs/tags/v1.0.9.zip', 'name': 'v1.0.9.zip'}, {'browser_download_url': 'https://gitee.com/liumou_site/ip/archive/refs/tags/v1.0.9.tar.gz', 'name': 'v1.0.9.tar.gz'}]}

进程已结束,退出代码0

官方接口

Gitee接口

相关推荐
Full Stack Developme2 小时前
JVM 与 Linux 交互的核心原理
linux·运维·jvm
Java识堂2 小时前
多级负载均衡架构
运维·架构·负载均衡
MXsoft6182 小时前
## 自动化巡检:从手工两小时到系统五分钟的落地实践
运维·自动化
ZLG_zhiyuan2 小时前
直击华南工博会|ZLG致远电子:EtherCAT与自动化总线应用方案动态实景呈现
运维·自动化
HackTwoHub3 小时前
最新Nessus2026.6.8版本主机漏洞扫描/探测工具Windows/Linux
linux·运维·服务器·安全·web安全·网络安全·安全架构
Nayxxu3 小时前
Gemini + RAG 企业知识库教程:从文档切片到答案生成
运维·人工智能
三雷科技4 小时前
Claude Code 命令行完全指南:从高效交互到自动化工作流
运维·自动化·交互
正经教主5 小时前
【docker基础】第五课:Docker网络详解
运维·docker·容器
小黑蛋学java6 小时前
Nginx 接口耗时 Prometheus + Grafana 监控实施方案
运维·nginx·负载均衡·grafana·prometheus
测试员周周7 小时前
【AI测试智能体-面试】AI测试面试60题(附回答思路)
人工智能·python·功能测试·测试工具·单元测试·自动化·测试用例