Skip to content

Instantly share code, notes, and snippets.

@davidmhewitt
Last active April 1, 2020 20:43
Show Gist options
  • Save davidmhewitt/fc965a4f5e11f62d1e074463b9517077 to your computer and use it in GitHub Desktop.
Save davidmhewitt/fc965a4f5e11f62d1e074463b9517077 to your computer and use it in GitHub Desktop.
Get repos in organization sorted by last release date
import datetime
from github import Github
g = Github('GET_YOUR_OWN_ACCESS_TOKEN')
class Repo:
def __init__(self, repo, release, last_release_timestamp):
self.repo = repo
self.release = release
self.last_release_timestamp = last_release_timestamp
org = g.get_organization('elementary')
repos = []
for repo in org.get_repos():
release = None
try:
release = repo.get_latest_release()
except:
pass
repos.append(Repo(repo, release, release.created_at.timestamp() if release else 0))
repos = filter(lambda repo: repo.last_release_timestamp != 0, repos)
repos = sorted(repos, key=lambda repo: repo.last_release_timestamp)
for repo in repos:
release_date = datetime.datetime.fromtimestamp(repo.last_release_timestamp).strftime("%Y-%m-%d")
print('{} ({}) released {}'.format (repo.repo.name, repo.release.tag_name, release_date))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment