Skip to content

Commit

Permalink
Add in automation for the end release date, still need to manually do…
Browse files Browse the repository at this point in the history
… the start (#1889)
  • Loading branch information
seeker25 authored Feb 5, 2025
1 parent b74e0ef commit c13f56e
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 9 deletions.
6 changes: 3 additions & 3 deletions releases/release_to_zenhub.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@

load_dotenv()

auth_issue_ids, _ = get_issues_from_repo('sbc-auth')
pay_issue_ids, release_names = get_issues_from_repo('sbc-pay', latest_release_only=True)
auth_issue_ids, _, _ = get_issues_from_repo('sbc-auth')
pay_issue_ids, release_names, release_dates = get_issues_from_repo('sbc-pay', latest_release_only=True)
pay_release_issue_ids = list(set([item for item in pay_issue_ids if item not in auth_issue_ids]))
target_release_name = f'Pay Release - {release_names[0]}'
release_id = get_workspace_release_for_report(target_release_name)
if release_id is None:
release_id = create_release(target_release_name)
release_id = create_release(target_release_name, release_dates[0])
print(f'Zenhub release created id: {release_id} - {target_release_name}')
else:
print(f'Zenhub release found id: {release_id} - {target_release_name}')
Expand Down
4 changes: 2 additions & 2 deletions releases/release_to_zenhub_auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@

load_dotenv()

auth_release_issue_ids, release_names = get_issues_from_repo('sbc-auth', latest_release_only=True)
auth_release_issue_ids, release_names, release_dates = get_issues_from_repo('sbc-auth', latest_release_only=True)
target_release_name = f'Auth Release - {release_names[0]}'
release_id = get_workspace_release_for_report(target_release_name)
if release_id is None:
release_id = create_release(target_release_name)
release_id = create_release(target_release_name, release_dates[0])
print(f'Zenhub release created id: {release_id} - {target_release_name}')
else:
print(f'Zenhub release found id: {release_id} - {target_release_name}')
Expand Down
10 changes: 6 additions & 4 deletions releases/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@ def get_issues_from_repo(target, latest_release_only=False):
"""Get issue ids from repos on github."""
issue_ids = []
release_names = []
release_dates = []
g = Github(os.getenv("GITHUB_ACCESS_TOKEN"))
repository_owner = 'bcgov'
repo = g.get_repo(f"{repository_owner}/{target}")
for release in repo.get_releases():
release_names.append(release.title)
release_dates.append(release.created_at)
for l in release.body.splitlines():
if re.search(r'\d+ -', l):
issue_ids.append(re.search(r'\d+ -', l).group(0).replace(' -',''))
Expand All @@ -25,7 +27,7 @@ def get_issues_from_repo(target, latest_release_only=False):
if latest_release_only:
break
issue_ids = list(set(issue_ids))
return issue_ids, release_names
return issue_ids, release_names, release_dates

def add_issues_to_release(issue_id: int, zenhub_release_hash: str):
"""Add issues to Zenhub release."""
Expand Down Expand Up @@ -85,7 +87,7 @@ def get_workspace_release_for_report(release_name):
return nodes[0].get('id')
return None

def create_release(release_name):
def create_release(release_name, release_date):
"""Create release in Zenhub."""
response = requests.post('https://api.zenhub.com/public/graphql',
headers={
Expand All @@ -98,8 +100,8 @@ def create_release(release_name):
"release": {
"title": release_name,
"description": release_name,
"startOn": "2024-01-01T00:00:00.000Z",
"endOn": "2024-01-02T00:00:00.000Z",
"startOn": "2025-01-01T00:00:00.000Z",
"endOn": release_date.strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z',
"repositoryGhIds": [int(os.getenv('ENTITY_GITHUB_REPO_ID'))]
}
}
Expand Down

0 comments on commit c13f56e

Please sign in to comment.