Python获得Gogs里项目最新发布版本Version

现在每个大版本号对应的各个项目的小版本号是不一致的,要快速的获得每次发布所对应的版本号。写个脚本来实现。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
session = HTMLSession()

# Get crsf token
r = session.get(url=URL)
csrf = r.html.xpath('//input[@name="_csrf"]', first=True)

# Login
data = {
'_csrf': csrf.attrs.get('value'),
'user_name': USERNAME,
'password': PASSWORD,
'login_source': 2
}
session.post(url=URL, data=data)

# Get project latest release version
release_version = {}
for p in PROJECT_LIST:
res = session.get(f'https://{URL}/{p}/releases')

version = res.html.xpath('//ul[@id="release-list"]//a', first=True).text

release_version[p] = version

print(json.dumps(release_version, indent=4))

并通过API的方式,直接把相关信息填写到Confluence上。

1
2
3
4
5
con = Confluence(url=URL, username=USERNAME, password=PASSWORD)

body = '<div class="table-wrap"><table class="relative-table wrapped confluenceTable">版本信息</table></div>'
con.create_page(space='BDP', title='testtesttest', parent_id=85295571,
body=body)

最后,把脚本集成到Jenkins上,每次只要运行一下Job就可以快速完整版本号的整理工作。

唐胡璐 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
分享创造价值,您的支持将鼓励我继续前行!