$Date: 2018-07-07 06:49:13 +0900 (2018/07/07 (土)) $
$Revision: 1347 $
github のリリースバージョンを列挙する方法
github でリリースされているバイナリのバージョンを列挙する方法を説明します。
github では Release というリンクをクリックすることでリリースバイナリにアクセスできます。
例: https://github.com/m-tmatma/CopyWithLineNumbers/releases
github のリリースバージョンを列挙する方法
https://github.com/m-tmatma/CopyWithLineNumbers/releases の場合
https://api.github.com/repos/m-tmatma/CopyWithLineNumbers/releases
にアクセスすると json 形式で情報を取得できます。
この "tag_name": "1.3" という部分がリリースバージョンになります。
github のリリースバージョンを列挙するスクリプト
列挙するスクリプトを作成しました。
$ git clone https://github.com/m-tmatma/github-tools.git
$ cd github-tools
$ ./enum-releases.py m-tmatma CopyWithLineNumbers
1.3
1.002
1.001
1.000
github のリリースバージョンを列挙する関数
enum-releases.py から抜粋
owner に "m-tmatma"
repos に "CopyWithLineNumbers"
を指定します。
"""
enum releases at github.com and returns them as a list
"""
def enum_release(owner, repos):
import urllib2
import re
# https://api.github.com/repos///releases
URL = '/'.join(["https://api.github.com/repos", owner, repos, "releases"])
result = urllib2.urlopen(URL)
# "tag_name":"x.xx.x"
re_release = re.compile(r'"tag_name":"(?P<version>.+?)",')
content = ""
for data in result:
content += data
releases = []
iterator = re_release.finditer(content)
for match in iterator:
group = match.group('version')
releases.append(group)
return releases