У меня есть куча вилок репозитория, и я хотел бы включить все их трекеры проблем.Я не уверен, почему, GitHub поставляется с отключенными по умолчанию, и я забыл включить их при разветвлении.
Теперь было бы слишком много работы, чтобы включить их трекер по очереди, тогда, хотя я мог бы написатьпрограмма для этого.На данный момент мне удается получить список всех моих репозиториев со следующим кодом:
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
import os
import shlex
import json
import subprocess
current_directory = os.path.dirname( os.path.realpath(__file__) )
print( 'directory walk %s', current_directory )
token = "Authorization: token mynicetoken102312312541230240021470300250230"
user_name = "myusername"
def run_command(absolute_path, command_name):
command = shlex.split( command_name )
print( 'command: %s' % command )
command_line_interface = subprocess.Popen( command, stdout=subprocess.PIPE, cwd=absolute_path )
output = command_line_interface.communicate()[0]
print( "\n%s" % output.decode('utf-8') )
return output
def main():
result = run_command( current_directory, "curl -H '%s' https://api.github.com/users/%s/repos" % ( token, user_name ) )
result_json = json.loads( result.decode('utf-8') )
for repository_data in result_json:
repository_full_name = repository_data['full_name']
print( "Processing{:s}".format( repository_full_name ) )
# Now, what do?
run_command( current_directory, "curl -H '%s' https://api.github.com/%s/misterX" % ( token, repository_full_name ) )
if __name__ == "__main__": main()
Я думаю, что единственное, чего не хватает, это завершить последнюю строку:
# Now, what do?
run_command( current_directory, "curl -H '%s' https://api.github.com/%s/misterX" % ( token, repository_full_name ) )
После нахождения Как мне переименовать репозиторий GitHub через их API? Мне удается создать следующий код:
# Now, what do?
full_command = \
r"""
curl
-H "Authorization: Token %s"
-H "Content-Type: application/json"
-H "Accept: application/json"
-X PATCH
--data '{ "has_issues": true }'
https://api.github.com/repos/:%s
""" % ( token, repository_full_name )
print( 'full_command: %s' % full_command )
run_command( current_directory, full_command )
Но GitHub говорит:
{
"message": "Not Found",
"documentation_url": "https://developer.github.com/v3/repos/#edit"
}
Их страница API не очень помогает: https://developer.github.com/v3/repos/#edit
Ссылки:
- Как получить список всех репозиториев github человека?
- https://github.com/settings/tokens токен GitHub с полным доступом к репозиторию