Recent deliveries tab 추가
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
import os, json, requests, subprocess
|
||||
from datetime import datetime, timedelta
|
||||
from git import Repo
|
||||
|
||||
repo = Repo('.')
|
||||
file_path = './version.json'
|
||||
api_url = 'https://api.github.com/repos/cloudmoa/dsk-version-management/releases'
|
||||
release_url = 'https://api.github.com/repos/cloudmoa/dsk-version-management/releases'
|
||||
delivery_url = 'https://api.github.com/repos/CloudMOA/dsk-version-management/hooks/412710389/deliveries'
|
||||
github_token = os.environ.get('GITHUB_TOKEN')
|
||||
headers = {'Authorization': f"Bearer {github_token}", 'Accept': 'application/vnd.github.v3+json'}
|
||||
|
||||
def get_datasaker():
|
||||
return json.load(open(file_path, 'r'))['datasaker']
|
||||
@@ -19,11 +22,13 @@ def get_tags():
|
||||
latest_tags = sorted(repo.tags, key=lambda t: t.commit.committed_date, reverse=True)
|
||||
return latest_tags
|
||||
|
||||
def get_github_releases():
|
||||
headers = {'Authorization': f'Bearer {github_token}', 'Accept': 'application/vnd.github.v3+json'}
|
||||
releases = requests.get(api_url, headers=headers).json()
|
||||
def get_releases():
|
||||
releases = requests.get(release_url, headers=headers).json()
|
||||
return releases
|
||||
|
||||
def get_delivery():
|
||||
return requests.get(delivery_url, headers=headers).json()
|
||||
|
||||
def get_user_name_list():
|
||||
users = ['', 'dsk-minchulahn', 'Ose-Exem', 'deukjin', 'pparkssi3']
|
||||
return users
|
||||
@@ -34,7 +39,7 @@ def get_user_email(username):
|
||||
elif username == 'deukjin': return 'djkim@ex-em.com'
|
||||
elif username == 'pparkssi3': return 'pparkssi@ex-em.com'
|
||||
else: return ''
|
||||
|
||||
|
||||
def set_git_config(username, email):
|
||||
subprocess.run(["git", "config", "--global", "user.name", username], check=True)
|
||||
subprocess.run(["git", "config", "--global", "user.email", email], check=True)
|
||||
@@ -61,16 +66,24 @@ def git_push(commit_message, extended_description):
|
||||
repo.git.add('version.json')
|
||||
|
||||
if len(repo.index.diff(repo.head.commit)) > 0:
|
||||
repo.index.commit(f'{commit_message}\n\n{extended_description}')
|
||||
repo.index.commit(f"{commit_message}\n\n{extended_description}")
|
||||
repo.git.push(force=False)
|
||||
|
||||
def publish_release(selected_tag, release_title, release_describe):
|
||||
headers = {'Authorization': f'Bearer {github_token}', 'Accept': 'application/vnd.github.v3+json'}
|
||||
release_data = {
|
||||
publish_release_data = {
|
||||
'tag_name': selected_tag,
|
||||
'name': release_title,
|
||||
'body': release_describe,
|
||||
'draft': False,
|
||||
'prerelease': False
|
||||
}
|
||||
return requests.post(api_url, json=release_data, headers=headers)
|
||||
return requests.post(release_url, json=publish_release_data, headers=headers)
|
||||
|
||||
def redeliver(delivery_id):
|
||||
redeliver_url = f"{delivery_url}/{delivery_id}/attempts"
|
||||
return requests.post(redeliver_url, headers=headers)
|
||||
|
||||
def convert_utc_to_korea_time(utc_time_str):
|
||||
utc_time = datetime.fromisoformat(utc_time_str[:-1])
|
||||
korea_time = utc_time + timedelta(hours=9)
|
||||
return korea_time.strftime("%Y-%m-%d %H:%M:%S")
|
||||
Reference in New Issue
Block a user