Мне нужно пройтись по коммитам и получить информацию об имени, дате и сообщениях из GitHub API.
https://api.github.com/repos/droptable461/Project-Project-Management/commits
У меня много разных вещей, но я застреваю в строковых индексах, должны быть целые ошибки:
def git(): #name , date , message #https://api.github.com/repos/droptable461/Project-Project-Management/commits #commit { author { name and date #commit { message #with urlopen('https://api.github.com/repos/droptable461/Project Project-Management/commits') as response: #source = response.read() #data = json.loads(source) #state = [] #for state in data['committer']: #state.append(state['name']) #print(state) link = 'https://api.github.com/repos/droptable461/Project-Project-Management/events' r = requests.get('https://api.github.com/repos/droptable461/Project-Project-Management/commits') #print(r) #one = r['commit'] #print(one) for item in r.json(): for c in item['commit']['committer']: print(c['name'],c['date']) return 'suc'
Нужно найти человека, который сделал коммит, дата и их сообщение.
item['commit']['committer'] является объектом словаря, и поэтому строка: for c in item['commit']['committer']: является транзитными ключами словаря.
item['commit']['committer']
for c in item['commit']['committer']:
Поскольку вы вызываете [] в строке (ключ словаря), вы получаете ошибку.
[]
Вместо этого код должен выглядеть примерно так:
def git(): link = 'https://api.github.com/repos/droptable461/Project-Project-Management/events' r = requests.get('https://api.github.com/repos/droptable461/Project-Project-Management/commits') for item in r.json(): for key in item['commit']['committer']: print(item['commit']['committer']['name']) print(item['commit']['committer']['date']) print(item['commit']['message']) return 'suc'