Используйте API принятия коммита поиска и отфильтруйте репо вашей организации с помощью параметра org
:
GET https://api.github.com/search/commits?q=[SEARCH REQUEST]
Вам нужно использовать заголовок Accept: application/vnd.github.cloak-preview
, чтобы использовать этот API , Далее приведены все коммиты, сделанные в репозитории, принадлежащем указанной организации c для указанного пользователя c, и отсортированы по последним первым:
curl -s -H "Accept: application/vnd.github.cloak-preview" \
https://api.github.com/search/commits?q=author:fgette%20org:BboxLab%20sort:author-date-desc
Затем можно отфильтровать дату наиболее недавний коммит в этой организации:
curl -s -H "Accept: application/vnd.github.cloak-preview" \
https://api.github.com/search/commits?q=author:fgette%20org:BboxLab%20sort:author-date-desc | \
jq -r '.items[0].commit.author.date'
Используя python, вы могли бы использовать следующее, чтобы проверить, уступает ли самый последний коммит крайнему сроку (здесь <12 месяцев) : </p>
from github import Github
from datetime import date
from datetime import datetime
from dateutil.relativedelta import relativedelta
deadline = datetime.combine(
date.today() + relativedelta(months=-12),
datetime.min.time()
)
g = Github("YOUR_TOKEN", per_page = 1)
commits = g.search_commits(
query = 'author:fgette org:BboxLab sort:author-date-desc'
)
data = commits.get_page(0)
if (len(data) > 0):
last_commit = data[0].commit.author.date
print(f'last commit : {last_commit}')
if (last_commit < deadline):
print("too old :(")
else:
print("ok :)")
Вывод:
последний коммит: 2019-03-06 15: 29: 26
слишком старый: (* 1024 *