test_results.json•207 kB
{
"created": 1741842728.012423,
"duration": 552.9440371990204,
"exitcode": 0,
"root": "/code/python-mcp-servers/pygithub-mcp-server",
"environment": {},
"summary": {
"total": 21,
"collected": 21
},
"tests": [
{
"nodeid": "tests/integration/tools/repositories/test_repositories_tools_errors.py::test_get_repository_not_found",
"lineno": 26,
"outcome": "passed",
"keywords": [
"test_get_repository_not_found",
"integration",
"pytestmark",
"test_repositories_tools_errors.py",
"repositories",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0029476999770849943,
"outcome": "passed"
},
"call": {
"duration": 0.10285185812972486,
"outcome": "passed",
"stdout": "DEBUG: Executing get_nonexistent_repo (attempt 1/3)\n",
"stderr": "2025-03-13 01:11:55,769 - pygithub_mcp_server.client.client - ERROR - GitHub exception when getting repo AstroMined/nonexistent-repo-8eff98c8: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/repos/repos#get-a-repository\", \"status\": \"404\"}\n2025-03-13 01:11:55,770 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/repos/repos#get-a-repository', 'status': '404'}\n2025-03-13 01:11:55,770 - pygithub_mcp_server.errors.handlers - ERROR - Resource not found\n2025-03-13 01:11:55,771 - pygithub_mcp_server.tools.repositories.tools - ERROR - GitHub error: Repository not found\n",
"log": [
{
"name": "pygithub_mcp_server.client.client",
"msg": "GitHub exception when getting repo AstroMined/nonexistent-repo-8eff98c8: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/repos/repos#get-a-repository\", \"status\": \"404\"}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/client/client.py",
"filename": "client.py",
"module": "client",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 144,
"funcName": "get_repo",
"created": 1741842715.769357,
"msecs": 769.0,
"relativeCreated": 1773.3557224273682,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:11:55"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/repos/repos#get-a-repository', 'status': '404'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741842715.770203,
"msecs": 770.0,
"relativeCreated": 1774.2018699645996,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:11:55"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Resource not found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 130,
"funcName": "handle_github_exception",
"created": 1741842715.7706113,
"msecs": 770.0,
"relativeCreated": 1774.6100425720215,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:11:55"
},
{
"name": "pygithub_mcp_server.tools.repositories.tools",
"msg": "GitHub error: Repository not found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/repositories/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 63,
"funcName": "get_repository",
"created": 1741842715.7710352,
"msecs": 771.0,
"relativeCreated": 1775.033950805664,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:11:55"
}
]
},
"teardown": {
"duration": 0.0006820429116487503,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/repositories/test_repositories_tools_errors.py::test_create_or_update_file_validation_error",
"lineno": 49,
"outcome": "passed",
"keywords": [
"test_create_or_update_file_validation_error",
"integration",
"pytestmark",
"test_repositories_tools_errors.py",
"repositories",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0008542020805180073,
"outcome": "passed"
},
"call": {
"duration": 0.0013529949355870485,
"outcome": "passed",
"stdout": "DEBUG: Executing create_file_with_missing_params (attempt 1/3)\n",
"stderr": "2025-03-13 01:11:55,775 - pygithub_mcp_server.tools.repositories.tools - ERROR - Validation error: 3 validation errors for CreateOrUpdateFileParams\ncontent\n Field required [type=missing, input_value={'owner': 'AstroMined', '... 'path': 'test-file.md'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nmessage\n Field required [type=missing, input_value={'owner': 'AstroMined', '... 'path': 'test-file.md'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nbranch\n Field required [type=missing, input_value={'owner': 'AstroMined', '... 'path': 'test-file.md'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\n",
"log": [
{
"name": "pygithub_mcp_server.tools.repositories.tools",
"msg": "Validation error: 3 validation errors for CreateOrUpdateFileParams\ncontent\n Field required [type=missing, input_value={'owner': 'AstroMined', '... 'path': 'test-file.md'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nmessage\n Field required [type=missing, input_value={'owner': 'AstroMined', '... 'path': 'test-file.md'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nbranch\n Field required [type=missing, input_value={'owner': 'AstroMined', '... 'path': 'test-file.md'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/repositories/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 298,
"funcName": "create_or_update_file",
"created": 1741842715.7754612,
"msecs": 775.0,
"relativeCreated": 1779.4599533081055,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:11:55"
}
]
},
"teardown": {
"duration": 0.0004848400130867958,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/repositories/test_repositories_tools_errors.py::test_list_commits_validation_error",
"lineno": 70,
"outcome": "passed",
"keywords": [
"test_list_commits_validation_error",
"integration",
"pytestmark",
"test_repositories_tools_errors.py",
"repositories",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.000595135847106576,
"outcome": "passed"
},
"call": {
"duration": 0.0013088530395179987,
"outcome": "passed",
"stdout": "DEBUG: Executing list_commits_with_missing_params (attempt 1/3)\n",
"stderr": "2025-03-13 01:11:55,779 - pygithub_mcp_server.tools.repositories.tools - ERROR - Validation error: 2 validation errors for ListCommitsParams\nowner\n Field required [type=missing, input_value={}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrepo\n Field required [type=missing, input_value={}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\n",
"log": [
{
"name": "pygithub_mcp_server.tools.repositories.tools",
"msg": "Validation error: 2 validation errors for ListCommitsParams\nowner\n Field required [type=missing, input_value={}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nrepo\n Field required [type=missing, input_value={}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/repositories/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 444,
"funcName": "list_commits",
"created": 1741842715.7792833,
"msecs": 779.0,
"relativeCreated": 1783.2820415496826,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:11:55"
}
]
},
"teardown": {
"duration": 0.0004770269151777029,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/repositories/test_repositories_tools_errors.py::test_push_files_validation_error",
"lineno": 88,
"outcome": "passed",
"keywords": [
"test_push_files_validation_error",
"integration",
"pytestmark",
"test_repositories_tools_errors.py",
"repositories",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0006478058639913797,
"outcome": "passed"
},
"call": {
"duration": 0.0013197169173508883,
"outcome": "passed",
"stdout": "DEBUG: Executing push_files_with_missing_params (attempt 1/3)\n",
"stderr": "2025-03-13 01:11:55,783 - pygithub_mcp_server.tools.repositories.tools - ERROR - Validation error: 3 validation errors for PushFilesParams\nbranch\n Field required [type=missing, input_value={'owner': 'AstroMined', 'repo': 'mcp-testing'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nfiles\n Field required [type=missing, input_value={'owner': 'AstroMined', 'repo': 'mcp-testing'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nmessage\n Field required [type=missing, input_value={'owner': 'AstroMined', 'repo': 'mcp-testing'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\n",
"log": [
{
"name": "pygithub_mcp_server.tools.repositories.tools",
"msg": "Validation error: 3 validation errors for PushFilesParams\nbranch\n Field required [type=missing, input_value={'owner': 'AstroMined', 'repo': 'mcp-testing'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nfiles\n Field required [type=missing, input_value={'owner': 'AstroMined', 'repo': 'mcp-testing'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nmessage\n Field required [type=missing, input_value={'owner': 'AstroMined', 'repo': 'mcp-testing'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/repositories/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 347,
"funcName": "push_files",
"created": 1741842715.7831173,
"msecs": 783.0,
"relativeCreated": 1787.1160507202148,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:11:55"
}
]
},
"teardown": {
"duration": 0.0004915620665997267,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/repositories/test_repositories_tools_errors.py::test_create_branch_validation_error",
"lineno": 108,
"outcome": "passed",
"keywords": [
"test_create_branch_validation_error",
"integration",
"pytestmark",
"test_repositories_tools_errors.py",
"repositories",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0006691659800708294,
"outcome": "passed"
},
"call": {
"duration": 0.0013219569809734821,
"outcome": "passed",
"stdout": "DEBUG: Executing create_branch_with_missing_params (attempt 1/3)\n",
"stderr": "2025-03-13 01:11:55,786 - pygithub_mcp_server.tools.repositories.tools - ERROR - Validation error: 2 validation errors for CreateBranchParams\nrepo\n Field required [type=missing, input_value={'owner': 'AstroMined'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nbranch\n Field required [type=missing, input_value={'owner': 'AstroMined'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\n",
"log": [
{
"name": "pygithub_mcp_server.tools.repositories.tools",
"msg": "Validation error: 2 validation errors for CreateBranchParams\nrepo\n Field required [type=missing, input_value={'owner': 'AstroMined'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\nbranch\n Field required [type=missing, input_value={'owner': 'AstroMined'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/repositories/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 395,
"funcName": "create_branch",
"created": 1741842715.7869537,
"msecs": 786.0,
"relativeCreated": 1790.952444076538,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:11:55"
}
]
},
"teardown": {
"duration": 0.0004809179808944464,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/repositories/test_repositories_tools_errors.py::test_create_or_update_file_missing_sha",
"lineno": 128,
"outcome": "passed",
"keywords": [
"test_create_or_update_file_missing_sha",
"integration",
"pytestmark",
"test_repositories_tools_errors.py",
"repositories",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0007992410100996494,
"outcome": "passed"
},
"call": {
"duration": 2.179833041038364,
"outcome": "passed",
"stdout": "DEBUG: Executing create_initial_file (attempt 1/3)\nDEBUG: Executing update_without_sha (attempt 1/3)\n",
"stderr": "2025-03-13 01:11:57,967 - pygithub_mcp_server.operations.repositories - ERROR - GitHub exception when creating/updating file: Invalid request.\n\n\"sha\" wasn't supplied.: 422 {\"message\": \"Invalid request.\\n\\n\\\"sha\\\" wasn't supplied.\", \"documentation_url\": \"https://docs.github.com/rest/repos/contents#create-or-update-file-contents\", \"status\": \"422\"}\n2025-03-13 01:11:57,968 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=422, data={'message': 'Invalid request.\\n\\n\"sha\" wasn\\'t supplied.', 'documentation_url': 'https://docs.github.com/rest/repos/contents#create-or-update-file-contents', 'status': '422'}\n2025-03-13 01:11:57,969 - pygithub_mcp_server.errors.handlers - ERROR - Validation error\n2025-03-13 01:11:57,969 - pygithub_mcp_server.tools.repositories.tools - ERROR - GitHub error: Invalid request.\n\n\"sha\" wasn't supplied.\n",
"log": [
{
"name": "pygithub_mcp_server.operations.repositories",
"msg": "GitHub exception when creating/updating file: Invalid request.\n\n\"sha\" wasn't supplied.: 422 {\"message\": \"Invalid request.\\n\\n\\\"sha\\\" wasn't supplied.\", \"documentation_url\": \"https://docs.github.com/rest/repos/contents#create-or-update-file-contents\", \"status\": \"422\"}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/operations/repositories.py",
"filename": "repositories.py",
"module": "repositories",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 294,
"funcName": "create_or_update_file",
"created": 1741842717.967884,
"msecs": 967.0,
"relativeCreated": 3971.8828201293945,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:11:57"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=422, data={'message': 'Invalid request.\\n\\n\"sha\" wasn\\'t supplied.', 'documentation_url': 'https://docs.github.com/rest/repos/contents#create-or-update-file-contents', 'status': '422'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741842717.9687064,
"msecs": 968.0,
"relativeCreated": 3972.705125808716,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:11:57"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Validation error",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 138,
"funcName": "handle_github_exception",
"created": 1741842717.9691317,
"msecs": 969.0,
"relativeCreated": 3973.130464553833,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:11:57"
},
{
"name": "pygithub_mcp_server.tools.repositories.tools",
"msg": "GitHub error: Invalid request.\n\n\"sha\" wasn't supplied.",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/repositories/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 304,
"funcName": "create_or_update_file",
"created": 1741842717.9695125,
"msecs": 969.0,
"relativeCreated": 3973.511219024658,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:11:57"
}
]
},
"teardown": {
"duration": 0.0005995579995214939,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/repositories/test_repositories_tools_errors.py::test_create_branch_already_exists",
"lineno": 175,
"outcome": "passed",
"keywords": [
"test_create_branch_already_exists",
"integration",
"pytestmark",
"test_repositories_tools_errors.py",
"repositories",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0007292269729077816,
"outcome": "passed"
},
"call": {
"duration": 1.274398994166404,
"outcome": "passed",
"stdout": "DEBUG: Executing create_existing_branch (attempt 1/3)\n",
"stderr": "2025-03-13 01:11:59,245 - pygithub_mcp_server.operations.repositories - ERROR - GitHub exception when creating branch: Reference already exists: 422 {\"message\": \"Reference already exists\", \"documentation_url\": \"https://docs.github.com/rest/git/refs#create-a-reference\", \"status\": \"422\"}\n2025-03-13 01:11:59,246 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=422, data={'message': 'Reference already exists', 'documentation_url': 'https://docs.github.com/rest/git/refs#create-a-reference', 'status': '422'}\n2025-03-13 01:11:59,246 - pygithub_mcp_server.errors.handlers - ERROR - Validation error\n2025-03-13 01:11:59,246 - pygithub_mcp_server.tools.repositories.tools - ERROR - GitHub error: Reference already exists\n",
"log": [
{
"name": "pygithub_mcp_server.operations.repositories",
"msg": "GitHub exception when creating branch: Reference already exists: 422 {\"message\": \"Reference already exists\", \"documentation_url\": \"https://docs.github.com/rest/git/refs#create-a-reference\", \"status\": \"422\"}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/operations/repositories.py",
"filename": "repositories.py",
"module": "repositories",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 420,
"funcName": "create_branch",
"created": 1741842719.2452905,
"msecs": 245.0,
"relativeCreated": 5249.289274215698,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:11:59"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=422, data={'message': 'Reference already exists', 'documentation_url': 'https://docs.github.com/rest/git/refs#create-a-reference', 'status': '422'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741842719.2460964,
"msecs": 246.0,
"relativeCreated": 5250.0951290130615,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:11:59"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Validation error",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 138,
"funcName": "handle_github_exception",
"created": 1741842719.2465067,
"msecs": 246.0,
"relativeCreated": 5250.505447387695,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:11:59"
},
{
"name": "pygithub_mcp_server.tools.repositories.tools",
"msg": "GitHub error: Reference already exists",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/repositories/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 401,
"funcName": "create_branch",
"created": 1741842719.2468832,
"msecs": 246.0,
"relativeCreated": 5250.881910324097,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:11:59"
}
]
},
"teardown": {
"duration": 0.0005552361253648996,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/repositories/test_repositories_tools_errors.py::test_get_file_contents_not_found",
"lineno": 198,
"outcome": "passed",
"keywords": [
"test_get_file_contents_not_found",
"integration",
"pytestmark",
"test_repositories_tools_errors.py",
"repositories",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0007299508433789015,
"outcome": "passed"
},
"call": {
"duration": 0.7657069049309939,
"outcome": "passed",
"stdout": "DEBUG: Executing get_nonexistent_file (attempt 1/3)\n",
"stderr": "2025-03-13 01:12:00,013 - pygithub_mcp_server.operations.repositories - ERROR - GitHub exception when getting file contents: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/repos/contents#get-repository-content\", \"status\": \"404\"}\n2025-03-13 01:12:00,014 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/repos/contents#get-repository-content', 'status': '404'}\n2025-03-13 01:12:00,014 - pygithub_mcp_server.errors.handlers - ERROR - Resource not found\n2025-03-13 01:12:00,015 - pygithub_mcp_server.tools.repositories.tools - ERROR - GitHub error: Content File not found\n",
"log": [
{
"name": "pygithub_mcp_server.operations.repositories",
"msg": "GitHub exception when getting file contents: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/repos/contents#get-repository-content\", \"status\": \"404\"}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/operations/repositories.py",
"filename": "repositories.py",
"module": "repositories",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 194,
"funcName": "get_file_contents",
"created": 1741842720.0131261,
"msecs": 13.0,
"relativeCreated": 6017.124891281128,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:12:00"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/repos/contents#get-repository-content', 'status': '404'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741842720.0142252,
"msecs": 14.0,
"relativeCreated": 6018.224000930786,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:12:00"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Resource not found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 130,
"funcName": "handle_github_exception",
"created": 1741842720.0146804,
"msecs": 14.0,
"relativeCreated": 6018.679141998291,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:12:00"
},
{
"name": "pygithub_mcp_server.tools.repositories.tools",
"msg": "GitHub error: Content File not found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/repositories/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 253,
"funcName": "get_file_contents",
"created": 1741842720.015143,
"msecs": 15.0,
"relativeCreated": 6019.141674041748,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:12:00"
}
]
},
"teardown": {
"duration": 0.0006081080064177513,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/repositories/test_repositories_tools_errors.py::test_update_existing_file_missing_sha",
"lineno": 222,
"outcome": "passed",
"keywords": [
"test_update_existing_file_missing_sha",
"integration",
"pytestmark",
"test_repositories_tools_errors.py",
"repositories",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.000780800124630332,
"outcome": "passed"
},
"call": {
"duration": 0.8001929891761392,
"outcome": "passed",
"stdout": "DEBUG: Executing update_readme_without_sha (attempt 1/3)\n",
"stderr": "2025-03-13 01:12:00,817 - pygithub_mcp_server.operations.repositories - ERROR - GitHub exception when creating/updating file: Invalid request.\n\n\"sha\" wasn't supplied.: 422 {\"message\": \"Invalid request.\\n\\n\\\"sha\\\" wasn't supplied.\", \"documentation_url\": \"https://docs.github.com/rest/repos/contents#create-or-update-file-contents\", \"status\": \"422\"}\n2025-03-13 01:12:00,818 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=422, data={'message': 'Invalid request.\\n\\n\"sha\" wasn\\'t supplied.', 'documentation_url': 'https://docs.github.com/rest/repos/contents#create-or-update-file-contents', 'status': '422'}\n2025-03-13 01:12:00,818 - pygithub_mcp_server.errors.handlers - ERROR - Validation error\n2025-03-13 01:12:00,818 - pygithub_mcp_server.tools.repositories.tools - ERROR - GitHub error: Invalid request.\n\n\"sha\" wasn't supplied.\n",
"log": [
{
"name": "pygithub_mcp_server.operations.repositories",
"msg": "GitHub exception when creating/updating file: Invalid request.\n\n\"sha\" wasn't supplied.: 422 {\"message\": \"Invalid request.\\n\\n\\\"sha\\\" wasn't supplied.\", \"documentation_url\": \"https://docs.github.com/rest/repos/contents#create-or-update-file-contents\", \"status\": \"422\"}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/operations/repositories.py",
"filename": "repositories.py",
"module": "repositories",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 294,
"funcName": "create_or_update_file",
"created": 1741842720.817304,
"msecs": 817.0,
"relativeCreated": 6821.302652359009,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:12:00"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=422, data={'message': 'Invalid request.\\n\\n\"sha\" wasn\\'t supplied.', 'documentation_url': 'https://docs.github.com/rest/repos/contents#create-or-update-file-contents', 'status': '422'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741842720.8181543,
"msecs": 818.0,
"relativeCreated": 6822.153091430664,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:12:00"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Validation error",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 138,
"funcName": "handle_github_exception",
"created": 1741842720.8185675,
"msecs": 818.0,
"relativeCreated": 6822.566270828247,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:12:00"
},
{
"name": "pygithub_mcp_server.tools.repositories.tools",
"msg": "GitHub error: Invalid request.\n\n\"sha\" wasn't supplied.",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/repositories/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 304,
"funcName": "create_or_update_file",
"created": 1741842720.8189743,
"msecs": 818.0,
"relativeCreated": 6822.973012924194,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:12:00"
}
]
},
"teardown": {
"duration": 0.000562841072678566,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/repositories/test_repositories_tools_errors.py::test_search_repositories_invalid_query",
"lineno": 254,
"outcome": "passed",
"keywords": [
"test_search_repositories_invalid_query",
"integration",
"pytestmark",
"test_repositories_tools_errors.py",
"repositories",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0006922618485987186,
"outcome": "passed"
},
"call": {
"duration": 0.0014338500332087278,
"outcome": "passed",
"stdout": "DEBUG: Executing search_with_empty_query (attempt 1/3)\n",
"stderr": "2025-03-13 01:12:00,823 - pygithub_mcp_server.tools.repositories.tools - ERROR - Validation error: 1 validation error for SearchRepositoriesParams\nquery\n Value error, query cannot be empty [type=value_error, input_value='', input_type=str]\n For further information visit https://errors.pydantic.dev/2.10/v/value_error\n",
"log": [
{
"name": "pygithub_mcp_server.tools.repositories.tools",
"msg": "Validation error: 1 validation error for SearchRepositoriesParams\nquery\n Value error, query cannot be empty [type=value_error, input_value='', input_type=str]\n For further information visit https://errors.pydantic.dev/2.10/v/value_error",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/repositories/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 199,
"funcName": "search_repositories",
"created": 1741842720.8233352,
"msecs": 823.0,
"relativeCreated": 6827.333927154541,
"thread": 131193143324672,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1502938,
"asctime": "2025-03-13 01:12:00"
}
]
},
"teardown": {
"duration": 0.0004960000514984131,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/repositories/test_repositories_tools_integration.py::test_search_repositories_empty_results",
"lineno": 19,
"outcome": "passed",
"keywords": [
"test_search_repositories_empty_results",
"integration",
"pytestmark",
"test_repositories_tools_integration.py",
"repositories",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.000648832879960537,
"outcome": "passed"
},
"call": {
"duration": 0.4027780669275671,
"outcome": "passed",
"stdout": "DEBUG: Executing search_repos (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005622650496661663,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/repositories/test_repositories_tools_integration.py::test_get_repository_integration",
"lineno": 45,
"outcome": "passed",
"keywords": [
"test_get_repository_integration",
"integration",
"pytestmark",
"test_repositories_tools_integration.py",
"repositories",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.000731725012883544,
"outcome": "passed"
},
"call": {
"duration": 0.39374634297564626,
"outcome": "passed",
"stdout": "DEBUG: Executing get_repo (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005418891087174416,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/repositories/test_repositories_tools_integration.py::test_list_commits_integration",
"lineno": 70,
"outcome": "passed",
"keywords": [
"test_list_commits_integration",
"integration",
"pytestmark",
"test_repositories_tools_integration.py",
"repositories",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0007278320845216513,
"outcome": "passed"
},
"call": {
"duration": 1.4340846529230475,
"outcome": "passed",
"stdout": "DEBUG: Executing get_commits (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005505660083144903,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/repositories/test_repositories_tools_integration.py::test_get_file_contents_integration",
"lineno": 100,
"outcome": "passed",
"keywords": [
"test_get_file_contents_integration",
"integration",
"pytestmark",
"test_repositories_tools_integration.py",
"repositories",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0007233850192278624,
"outcome": "passed"
},
"call": {
"duration": 0.7544494830071926,
"outcome": "passed",
"stdout": "DEBUG: Executing get_readme (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005694290157407522,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/repositories/test_repositories_tools_integration.py::test_search_repositories_integration",
"lineno": 142,
"outcome": "passed",
"keywords": [
"test_search_repositories_integration",
"integration",
"pytestmark",
"test_repositories_tools_integration.py",
"repositories",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0006728852167725563,
"outcome": "passed"
},
"call": {
"duration": 1.7484753979369998,
"outcome": "passed",
"stdout": "DEBUG: Executing search_python_repos (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0007389199454337358,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/errors/test_handlers_integration.py::test_handle_github_exception_not_found",
"lineno": 24,
"outcome": "passed",
"keywords": [
"test_handle_github_exception_not_found",
"integration",
"pytestmark",
"test_handlers_integration.py",
"errors",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0030339020304381847,
"outcome": "passed"
},
"call": {
"duration": 0.09509788104332983,
"outcome": "passed",
"stdout": "DEBUG: Executing get_nonexistent_repo (attempt 1/3)\n",
"stderr": "2025-03-13 00:59:23,402 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/repos/repos#get-a-repository', 'status': '404'}\n2025-03-13 00:59:23,405 - pygithub_mcp_server.errors.handlers - ERROR - Resource not found\n",
"log": [
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/repos/repos#get-a-repository', 'status': '404'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741841963.4028108,
"msecs": 402.0,
"relativeCreated": 1626.8577575683594,
"thread": 130403694346240,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1496122,
"asctime": "2025-03-13 00:59:23"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Resource not found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 130,
"funcName": "handle_github_exception",
"created": 1741841963.4057739,
"msecs": 405.0,
"relativeCreated": 1629.8208236694336,
"thread": 130403694346240,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1496122,
"asctime": "2025-03-13 00:59:23"
}
]
},
"teardown": {
"duration": 0.0006888830102980137,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/errors/test_handlers_integration.py::test_handle_github_exception_invalid_input",
"lineno": 49,
"outcome": "passed",
"keywords": [
"test_handle_github_exception_invalid_input",
"integration",
"pytestmark",
"test_handlers_integration.py",
"errors",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009342378471046686,
"outcome": "passed"
},
"call": {
"duration": 0.8347742180339992,
"outcome": "passed",
"stdout": "DEBUG: Executing create_invalid_issue (attempt 1/3)\n",
"stderr": "2025-03-13 00:59:24,243 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=422, data={'message': 'Validation Failed', 'errors': [{'resource': 'Issue', 'code': 'missing_field', 'field': 'title'}], 'documentation_url': 'https://docs.github.com/rest/issues/issues#create-an-issue', 'status': '422'}\n2025-03-13 00:59:24,243 - pygithub_mcp_server.errors.handlers - ERROR - Validation error\n",
"log": [
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=422, data={'message': 'Validation Failed', 'errors': [{'resource': 'Issue', 'code': 'missing_field', 'field': 'title'}], 'documentation_url': 'https://docs.github.com/rest/issues/issues#create-an-issue', 'status': '422'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741841964.2431145,
"msecs": 243.0,
"relativeCreated": 2467.1614170074463,
"thread": 130403694346240,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1496122,
"asctime": "2025-03-13 00:59:24"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Validation error",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 138,
"funcName": "handle_github_exception",
"created": 1741841964.243995,
"msecs": 243.0,
"relativeCreated": 2468.0418968200684,
"thread": 130403694346240,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1496122,
"asctime": "2025-03-13 00:59:24"
}
]
},
"teardown": {
"duration": 0.0005540510173887014,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/errors/test_handlers_integration.py::test_handle_github_exception_rate_limit",
"lineno": 73,
"outcome": "passed",
"keywords": [
"test_handle_github_exception_rate_limit",
"integration",
"pytestmark",
"test_handlers_integration.py",
"errors",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005383559036999941,
"outcome": "passed"
},
"call": {
"duration": 0.0012649211566895247,
"outcome": "passed",
"stderr": "2025-03-13 00:59:24,247 - pygithub_mcp_server.errors.handlers - ERROR - Rate limit exceeded\n",
"log": [
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Rate limit exceeded",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 41,
"funcName": "handle_github_exception",
"created": 1741841964.2478063,
"msecs": 247.0,
"relativeCreated": 2471.853256225586,
"thread": 130403694346240,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1496122,
"asctime": "2025-03-13 00:59:24"
}
]
},
"teardown": {
"duration": 0.0004141661338508129,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/errors/test_handlers_integration.py::test_format_validation_error",
"lineno": 92,
"outcome": "passed",
"keywords": [
"test_format_validation_error",
"integration",
"pytestmark",
"test_handlers_integration.py",
"errors",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.00048059807159006596,
"outcome": "passed"
},
"call": {
"duration": 0.0005134749226272106,
"outcome": "passed"
},
"teardown": {
"duration": 0.0004097388591617346,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/errors/test_handlers_integration.py::test_format_validation_error_no_errors",
"lineno": 124,
"outcome": "passed",
"keywords": [
"test_format_validation_error_no_errors",
"integration",
"pytestmark",
"test_handlers_integration.py",
"errors",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.00047367485240101814,
"outcome": "passed"
},
"call": {
"duration": 0.0004938109777867794,
"outcome": "passed"
},
"teardown": {
"duration": 0.0004059630446135998,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/errors/test_handlers_integration.py::test_format_validation_error_no_data",
"lineno": 140,
"outcome": "passed",
"keywords": [
"test_format_validation_error_no_data",
"integration",
"pytestmark",
"test_handlers_integration.py",
"errors",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.00047043594531714916,
"outcome": "passed"
},
"call": {
"duration": 0.0004970158915966749,
"outcome": "passed"
},
"teardown": {
"duration": 0.0009797338861972094,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_comments.py::test_add_issue_comment",
"lineno": 26,
"outcome": "passed",
"keywords": [
"test_add_issue_comment",
"integration",
"pytestmark",
"test_comments.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0033511240035295486,
"outcome": "passed"
},
"call": {
"duration": 4.834121076157317,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing add_test_comment (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.00081687793135643,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_comments.py::test_list_issue_comments",
"lineno": 82,
"outcome": "passed",
"keywords": [
"test_list_issue_comments",
"integration",
"pytestmark",
"test_comments.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0010117299389094114,
"outcome": "passed"
},
"call": {
"duration": 6.74647095403634,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing add_test_comment (attempt 1/3)\nDEBUG: Executing list_test_comments (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005567269399762154,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_comments.py::test_update_issue_comment",
"lineno": 157,
"outcome": "passed",
"keywords": [
"test_update_issue_comment",
"integration",
"pytestmark",
"test_comments.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009513909462839365,
"outcome": "passed"
},
"call": {
"duration": 8.680540577042848,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing add_test_comment (attempt 1/3)\nDEBUG: Executing update_test_comment (attempt 1/3)\nDEBUG: Executing list_test_comments (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005748278927057981,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_comments.py::test_delete_issue_comment",
"lineno": 248,
"outcome": "passed",
"keywords": [
"test_delete_issue_comment",
"integration",
"pytestmark",
"test_comments.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009464460890740156,
"outcome": "passed"
},
"call": {
"duration": 9.580906807910651,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing add_test_comment (attempt 1/3)\nDEBUG: Executing list_test_comments_before (attempt 1/3)\nDEBUG: Executing delete_test_comment (attempt 1/3)\nDEBUG: Executing list_test_comments_after (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005719868931919336,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_comments.py::test_list_issue_comments_since",
"lineno": 343,
"outcome": "passed",
"keywords": [
"test_list_issue_comments_since",
"integration",
"pytestmark",
"test_comments.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009388190228492022,
"outcome": "passed"
},
"call": {
"duration": 8.147635878063738,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing add_test_comment (attempt 1/3)\nDEBUG: Executing list_test_comments_since (attempt 1/3)\nDEBUG: Executing list_test_comments_future (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005720190238207579,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_comments.py::test_comment_lifecycle",
"lineno": 440,
"outcome": "passed",
"keywords": [
"test_comment_lifecycle",
"integration",
"pytestmark",
"test_comments.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.000955658033490181,
"outcome": "passed"
},
"call": {
"duration": 13.965610877843574,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing add_test_comment (attempt 1/3)\nDEBUG: Executing list_test_comments (attempt 1/3)\nDEBUG: Executing update_test_comment (attempt 1/3)\nDEBUG: Executing list_test_comments_after_update (attempt 1/3)\nDEBUG: Executing delete_test_comment (attempt 1/3)\nDEBUG: Executing list_test_comments_after_delete (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005853939801454544,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_create.py::test_create_issue_required_params",
"lineno": 12,
"outcome": "passed",
"keywords": [
"test_create_issue_required_params",
"integration",
"pytestmark",
"test_create.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0010017049498856068,
"outcome": "passed"
},
"call": {
"duration": 1.3626285002101213,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005630669184029102,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_create.py::test_create_issue_all_params",
"lineno": 47,
"outcome": "passed",
"keywords": [
"test_create_issue_all_params",
"integration",
"pytestmark",
"test_create.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009532629046589136,
"outcome": "passed"
},
"call": {
"duration": 1.8876228570006788,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005682590417563915,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_create.py::test_create_and_verify_issue",
"lineno": 92,
"outcome": "passed",
"keywords": [
"test_create_and_verify_issue",
"integration",
"pytestmark",
"test_create.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009038830175995827,
"outcome": "passed"
},
"call": {
"duration": 2.6118532319087535,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing get_test_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0006026639603078365,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_labels.py::test_add_issue_labels",
"lineno": 22,
"outcome": "passed",
"keywords": [
"test_add_issue_labels",
"integration",
"pytestmark",
"test_labels.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009392839856445789,
"outcome": "passed"
},
"call": {
"duration": 5.89565747207962,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing add_test_labels (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005888519808650017,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_labels.py::test_remove_issue_label",
"lineno": 78,
"outcome": "passed",
"keywords": [
"test_remove_issue_label",
"integration",
"pytestmark",
"test_labels.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009381289128214121,
"outcome": "passed"
},
"call": {
"duration": 9.643840932054445,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing get_issue_with_labels (attempt 1/3)\nDEBUG: Executing remove_test_label (attempt 1/3)\nDEBUG: Executing get_issue_after_remove (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005934531800448895,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_labels.py::test_add_issue_labels_multiple_calls",
"lineno": 161,
"outcome": "passed",
"keywords": [
"test_add_issue_labels_multiple_calls",
"integration",
"pytestmark",
"test_labels.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009564647916704416,
"outcome": "passed"
},
"call": {
"duration": 7.4644697098992765,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing add_first_label (attempt 1/3)\nDEBUG: Executing add_second_label (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0006103240884840488,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_labels.py::test_remove_nonexistent_label",
"lineno": 231,
"outcome": "passed",
"keywords": [
"test_remove_nonexistent_label",
"integration",
"pytestmark",
"test_labels.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009374378714710474,
"outcome": "passed"
},
"call": {
"duration": 6.212499422952533,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing remove_nonexistent_label (attempt 1/3)\nDEBUG: Executing get_issue_after_remove (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n",
"stderr": "2025-03-13 01:00:50,162 - pygithub_mcp_server.operations.issues - WARNING - Label 'nonexistent-test-20250313010047-37bfeb09' does not exist on issue #1699\n",
"log": [
{
"name": "pygithub_mcp_server.operations.issues",
"msg": "Label 'nonexistent-test-20250313010047-37bfeb09' does not exist on issue #1699",
"args": null,
"levelname": "WARNING",
"levelno": 30,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/operations/issues.py",
"filename": "issues.py",
"module": "issues",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 398,
"funcName": "remove_issue_label",
"created": 1741842050.1623542,
"msecs": 162.0,
"relativeCreated": 85064.85390663147,
"thread": 131971984748544,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1496160,
"asctime": "2025-03-13 01:00:50"
}
]
},
"teardown": {
"duration": 0.0005824619438499212,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_labels.py::test_label_lifecycle",
"lineno": 295,
"outcome": "passed",
"keywords": [
"test_label_lifecycle",
"integration",
"pytestmark",
"test_labels.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009382059797644615,
"outcome": "passed"
},
"call": {
"duration": 14.211573221022263,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing add_test_labels (attempt 1/3)\nDEBUG: Executing remove_bug_label (attempt 1/3)\nDEBUG: Executing get_issue_after_remove (attempt 1/3)\nDEBUG: Executing remove_enhancement_label (attempt 1/3)\nDEBUG: Executing get_issue_after_second_remove (attempt 1/3)\nDEBUG: Executing remove_documentation_label (attempt 1/3)\nDEBUG: Executing get_issue_after_all_removed (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005642930045723915,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_lifecycle.py::test_issue_lifecycle",
"lineno": 35,
"outcome": "passed",
"keywords": [
"test_issue_lifecycle",
"integration",
"pytestmark",
"test_lifecycle.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009332839399576187,
"outcome": "passed"
},
"call": {
"duration": 18.093649561982602,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing get_test_issue (attempt 1/3)\nDEBUG: Executing update_test_issue (attempt 1/3)\nDEBUG: Executing add_test_comment (attempt 1/3)\nDEBUG: Executing list_test_comments (attempt 1/3)\nDEBUG: Executing update_test_comment (attempt 1/3)\nDEBUG: Executing add_test_labels (attempt 1/3)\nDEBUG: Executing remove_test_label (attempt 1/3)\nDEBUG: Executing close_test_issue (attempt 1/3)\nDEBUG: Executing ensure_closed (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0006090390961617231,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_list.py::test_list_issues_basic",
"lineno": 20,
"outcome": "passed",
"keywords": [
"test_list_issues_basic",
"integration",
"pytestmark",
"test_list.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009177320171147585,
"outcome": "passed"
},
"call": {
"duration": 21.037693974096328,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing list_test_issues (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005986080504953861,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_list.py::test_list_issues_state_filter",
"lineno": 83,
"outcome": "passed",
"keywords": [
"test_list_issues_state_filter",
"integration",
"pytestmark",
"test_list.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009480179287493229,
"outcome": "passed"
},
"call": {
"duration": 59.47494810516946,
"outcome": "passed",
"stdout": "\n--- DEBUG: Starting test_list_issues_state_filter ---\nDEBUG: Creating open issue with title: Test Issue (Open) test-20250313010147-5921726e\nDEBUG: Executing create_open_issue (attempt 1/3)\nDEBUG: Open issue created successfully with number: 1703\nDEBUG: Open issue creation completed, issue number: 1703\nDEBUG: Creating closed issue with title: Test Issue (Closed) test-20250313010147-5921726e\nDEBUG: Executing create_closed_issue (attempt 1/3)\nDEBUG: Closed issue created, now closing it. Issue number: 1704\nDEBUG: Issue 1704 successfully closed\nDEBUG: Closed issue creation completed, issue number: 1704\nDEBUG: Listing open issues\nDEBUG: Executing list_open_issues (attempt 1/3)\nDEBUG: Retrieved 20 open issues\nDEBUG: Open issues listing completed\nDEBUG: Verifying open issue is in the list\nDEBUG: Open issue verification passed\nDEBUG: Verifying closed issue is NOT in the open issues list\nDEBUG: Closed issue verification passed (not in open issues)\nDEBUG: Listing closed issues\nDEBUG: Executing list_closed_issues (attempt 1/3)\nDEBUG: Retrieved 20 closed issues\nDEBUG: Closed issues listing completed\nDEBUG: Verifying closed issue is in the list\nDEBUG: Closed issue verification passed\nDEBUG: Verifying open issue is NOT in the closed issues list\nDEBUG: Open issue verification passed (not in closed issues)\nDEBUG: Listing all issues\nDEBUG: Executing list_all_issues (attempt 1/3)\nDEBUG: Retrieved 20 total issues\nDEBUG: All issues listing completed\nDEBUG: Verifying both issues are in the 'all issues' list\nDEBUG: Found closed issue 1704 in all issues list\nDEBUG: Found open issue 1703 in all issues list\nDEBUG: Both issues verification passed\nDEBUG: Starting cleanup\nDEBUG: Executing close_open_issue (attempt 1/3)\nDEBUG: Successfully closed open issue 1703 during cleanup\nDEBUG: Test completed\n"
},
"teardown": {
"duration": 0.0005634010303765535,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_list.py::test_list_issues_pagination",
"lineno": 278,
"outcome": "passed",
"keywords": [
"test_list_issues_pagination",
"integration",
"pytestmark",
"test_list.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009159608744084835,
"outcome": "passed"
},
"call": {
"duration": 14.406266538891941,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing list_test_issues_page1 (attempt 1/3)\nDEBUG: Executing list_test_issues_page2 (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005855499766767025,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_list.py::test_list_issues_labels_filter",
"lineno": 365,
"outcome": "passed",
"keywords": [
"test_list_issues_labels_filter",
"integration",
"pytestmark",
"test_list.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009437790140509605,
"outcome": "passed"
},
"call": {
"duration": 26.85988986189477,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing list_bug_issues (attempt 1/3)\nDEBUG: Executing list_test_label_issues (attempt 1/3)\nDEBUG: Executing list_nonexistent_label_issues (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005780558567494154,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_list.py::test_list_issues_sort_and_direction",
"lineno": 474,
"outcome": "passed",
"keywords": [
"test_list_issues_sort_and_direction",
"integration",
"pytestmark",
"test_list.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009217360056936741,
"outcome": "passed"
},
"call": {
"duration": 44.467183858156204,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue1 (attempt 1/3)\nDEBUG: Executing create_test_issue2 (attempt 1/3)\nDEBUG: Executing list_created_asc (attempt 1/3)\nDEBUG: Executing list_created_desc (attempt 1/3)\nDEBUG: Executing close_issues (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005605749320238829,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_list.py::test_list_issues_since",
"lineno": 593,
"outcome": "passed",
"keywords": [
"test_list_issues_since",
"integration",
"pytestmark",
"test_list.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009339689277112484,
"outcome": "passed"
},
"call": {
"duration": 20.303674751892686,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing list_issues_since (attempt 1/3)\nDEBUG: Executing list_issues_future (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005766060203313828,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_parameter_validation.py::TestIssueOperationsValidation::test_list_issues_invalid_state",
"lineno": 38,
"outcome": "passed",
"keywords": [
"test_list_issues_invalid_state",
"TestIssueOperationsValidation",
"integration",
"test_parameter_validation.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005518060643225908,
"outcome": "passed"
},
"call": {
"duration": 0.001169036841019988,
"outcome": "passed"
},
"teardown": {
"duration": 0.0004183200653642416,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_parameter_validation.py::TestIssueOperationsValidation::test_list_issues_invalid_sort",
"lineno": 50,
"outcome": "passed",
"keywords": [
"test_list_issues_invalid_sort",
"TestIssueOperationsValidation",
"integration",
"test_parameter_validation.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.000513408100232482,
"outcome": "passed"
},
"call": {
"duration": 0.0006029440555721521,
"outcome": "passed"
},
"teardown": {
"duration": 0.0004151130560785532,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_parameter_validation.py::TestIssueOperationsValidation::test_list_issues_invalid_direction",
"lineno": 62,
"outcome": "passed",
"keywords": [
"test_list_issues_invalid_direction",
"TestIssueOperationsValidation",
"integration",
"test_parameter_validation.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005122011061757803,
"outcome": "passed"
},
"call": {
"duration": 0.0006116388831287622,
"outcome": "passed"
},
"teardown": {
"duration": 0.00040761101990938187,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_parameter_validation.py::TestIssueOperationsValidation::test_list_issues_invalid_page",
"lineno": 74,
"outcome": "passed",
"keywords": [
"test_list_issues_invalid_page",
"TestIssueOperationsValidation",
"integration",
"test_parameter_validation.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005055451765656471,
"outcome": "passed"
},
"call": {
"duration": 0.000672162976115942,
"outcome": "passed"
},
"teardown": {
"duration": 0.0004127740394324064,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_parameter_validation.py::TestIssueOperationsValidation::test_list_issues_invalid_per_page",
"lineno": 96,
"outcome": "passed",
"keywords": [
"test_list_issues_invalid_per_page",
"TestIssueOperationsValidation",
"integration",
"test_parameter_validation.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005039870738983154,
"outcome": "passed"
},
"call": {
"duration": 0.0006927680224180222,
"outcome": "passed"
},
"teardown": {
"duration": 0.00041359197348356247,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_parameter_validation.py::TestIssueOperationsValidation::test_list_issues_invalid_labels",
"lineno": 128,
"outcome": "passed",
"keywords": [
"test_list_issues_invalid_labels",
"TestIssueOperationsValidation",
"integration",
"test_parameter_validation.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005054420325905085,
"outcome": "passed"
},
"call": {
"duration": 0.0006626811809837818,
"outcome": "passed"
},
"teardown": {
"duration": 0.00040472205728292465,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_parameter_validation.py::TestIssueOperationsValidation::test_list_issues_invalid_since",
"lineno": 150,
"outcome": "passed",
"keywords": [
"test_list_issues_invalid_since",
"TestIssueOperationsValidation",
"integration",
"test_parameter_validation.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005116108804941177,
"outcome": "passed"
},
"call": {
"duration": 0.0006066190544515848,
"outcome": "passed"
},
"teardown": {
"duration": 0.000413679052144289,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_parameter_validation.py::TestIssueOperationsValidation::test_update_issue_with_no_changes",
"lineno": 162,
"outcome": "passed",
"keywords": [
"test_update_issue_with_no_changes",
"TestIssueOperationsValidation",
"integration",
"test_parameter_validation.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009192018769681454,
"outcome": "passed"
},
"call": {
"duration": 4.941695082932711,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing update_with_no_changes (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005588489584624767,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_parameter_validation.py::TestIssueOperationsValidation::test_update_issue_invalid_milestone",
"lineno": 201,
"outcome": "passed",
"keywords": [
"test_update_issue_invalid_milestone",
"TestIssueOperationsValidation",
"integration",
"test_parameter_validation.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009425010066479445,
"outcome": "passed"
},
"call": {
"duration": 4.860401596873999,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\n",
"stderr": "2025-03-13 01:04:40,230 - pygithub_mcp_server.operations.issues - ERROR - Failed to get milestone 999999999: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/issues/milestones#get-a-milestone\", \"status\": \"404\"}\n",
"log": [
{
"name": "pygithub_mcp_server.operations.issues",
"msg": "Failed to get milestone 999999999: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/issues/milestones#get-a-milestone\", \"status\": \"404\"}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/operations/issues.py",
"filename": "issues.py",
"module": "issues",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 138,
"funcName": "update_issue",
"created": 1741842280.2307522,
"msecs": 230.0,
"relativeCreated": 315133.2519054413,
"thread": 131971984748544,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1496160,
"asctime": "2025-03-13 01:04:40"
}
]
},
"teardown": {
"duration": 0.0005990730132907629,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_parameter_validation.py::TestIssueOperationsValidation::test_create_issue_invalid_milestone",
"lineno": 236,
"outcome": "passed",
"keywords": [
"test_create_issue_invalid_milestone",
"TestIssueOperationsValidation",
"integration",
"test_parameter_validation.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0007901769131422043,
"outcome": "passed"
},
"call": {
"duration": 0.7769471039064229,
"outcome": "passed",
"stderr": "2025-03-13 01:04:43,369 - pygithub_mcp_server.operations.issues - ERROR - Failed to get milestone 999999999: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/issues/milestones#get-a-milestone\", \"status\": \"404\"}\n",
"log": [
{
"name": "pygithub_mcp_server.operations.issues",
"msg": "Failed to get milestone 999999999: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/issues/milestones#get-a-milestone\", \"status\": \"404\"}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/operations/issues.py",
"filename": "issues.py",
"module": "issues",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 67,
"funcName": "create_issue",
"created": 1741842283.369493,
"msecs": 369.0,
"relativeCreated": 318271.99268341064,
"thread": 131971984748544,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1496160,
"asctime": "2025-03-13 01:04:43"
}
]
},
"teardown": {
"duration": 0.0005399808287620544,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_parameter_validation.py::TestIssueOperationsValidation::test_list_issue_comments_invalid_since",
"lineno": 250,
"outcome": "passed",
"keywords": [
"test_list_issue_comments_invalid_since",
"TestIssueOperationsValidation",
"integration",
"test_parameter_validation.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009454789105802774,
"outcome": "passed"
},
"call": {
"duration": 3.7416174430400133,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005838940851390362,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_parameter_validation.py::TestIssueOperationsValidation::test_list_issues_timezone_handling",
"lineno": 284,
"outcome": "passed",
"keywords": [
"test_list_issues_timezone_handling",
"TestIssueOperationsValidation",
"integration",
"test_parameter_validation.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005481231492012739,
"outcome": "passed"
},
"call": {
"duration": 44.30674389004707,
"outcome": "passed"
},
"teardown": {
"duration": 0.0004731249064207077,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_simple.py::test_simple_issue_creation",
"lineno": 25,
"outcome": "passed",
"keywords": [
"test_simple_issue_creation",
"integration",
"pytestmark",
"test_simple.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009363638237118721,
"outcome": "passed"
},
"call": {
"duration": 3.8085652778390795,
"outcome": "passed",
"stdout": "DEBUG: Starting simple test\nDEBUG: Creating issue with title: Simple Test Issue test-20250313010531-89a4caa2\nDEBUG: Issue created with number: 1713\nDEBUG: Cleaning up the issue\nDEBUG: Test completed successfully\n"
},
"teardown": {
"duration": 0.0005790989380329847,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_simple.py::test_simple_list_issues",
"lineno": 60,
"outcome": "passed",
"keywords": [
"test_simple_list_issues",
"integration",
"pytestmark",
"test_simple.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009176069870591164,
"outcome": "passed"
},
"call": {
"duration": 75.96246257401071,
"outcome": "passed",
"stdout": "DEBUG: Starting simple list issues test\nDEBUG: Creating issue with title: List Test Issue test-20250313010535-587f22e5\nDEBUG: Issue created with number: 1714\nDEBUG: Listing issues\nDEBUG: Listed 87 issues\nDEBUG: Found our test issue in the list\nDEBUG: Issue verification successful\nDEBUG: Cleaning up the issue\nDEBUG: Test completed successfully\n"
},
"teardown": {
"duration": 0.0006088819354772568,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_simple.py::test_list_issues_with_state",
"lineno": 115,
"outcome": "passed",
"keywords": [
"test_list_issues_with_state",
"integration",
"pytestmark",
"test_simple.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009490731172263622,
"outcome": "passed"
},
"call": {
"duration": 62.59583245078102,
"outcome": "passed",
"stdout": "\n--- DEBUG: Starting test_list_issues_with_state ---\nDEBUG: Creating open issue with title: Open Issue test-20250313010651-80428e3b\nDEBUG: Open issue created with number: 1715\nDEBUG: Creating closed issue with title: Closed Issue test-20250313010651-80428e3b\nDEBUG: Closed issue created with number: 1716\nDEBUG: Closing issue 1716\nDEBUG: Issue 1716 closed successfully\nDEBUG: Waiting for API to process state changes...\nDEBUG: Listing limited issues without state filter\nDEBUG: Listed 10 issues without state filter\nDEBUG: Listing open issues\nDEBUG: Listed 10 open issues\nDEBUG: Found our open issue in open issues list\nDEBUG: Listing closed issues (limited)\nDEBUG: Listed 20 closed issues\nDEBUG: Found our closed issue in closed issues list\nDEBUG: Listing 'all' issues (limited)\nDEBUG: Listed 20 issues with 'all' state\nDEBUG: All state filter tests completed successfully\nDEBUG: Cleaning up issues\nDEBUG: Cleanup completed successfully\n"
},
"teardown": {
"duration": 0.0005970359779894352,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_update.py::test_update_issue_title",
"lineno": 16,
"outcome": "passed",
"keywords": [
"test_update_issue_title",
"integration",
"pytestmark",
"test_update.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009594601579010487,
"outcome": "passed"
},
"call": {
"duration": 7.061542939161882,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing update_test_issue (attempt 1/3)\nDEBUG: Executing get_test_issue (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005773920565843582,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_update.py::test_update_issue_body",
"lineno": 83,
"outcome": "passed",
"keywords": [
"test_update_issue_body",
"integration",
"pytestmark",
"test_update.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.000925589120015502,
"outcome": "passed"
},
"call": {
"duration": 7.1767033650539815,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing update_test_issue (attempt 1/3)\nDEBUG: Executing get_test_issue (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005533620715141296,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_update.py::test_update_issue_state",
"lineno": 152,
"outcome": "passed",
"keywords": [
"test_update_issue_state",
"integration",
"pytestmark",
"test_update.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009311391040682793,
"outcome": "passed"
},
"call": {
"duration": 10.867717029992491,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing close_test_issue (attempt 1/3)\nDEBUG: Executing get_closed_issue (attempt 1/3)\nDEBUG: Executing reopen_test_issue (attempt 1/3)\nDEBUG: Executing get_reopened_issue (attempt 1/3)\nDEBUG: Executing ensure_closed (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0009561099577695131,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_update.py::test_update_issue_labels",
"lineno": 244,
"outcome": "passed",
"keywords": [
"test_update_issue_labels",
"integration",
"pytestmark",
"test_update.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0015833950601518154,
"outcome": "passed"
},
"call": {
"duration": 8.586814611917362,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing update_test_issue_labels (attempt 1/3)\nDEBUG: Executing update_test_issue_labels_again (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005900762043893337,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_update.py::test_update_issue_multiple_fields",
"lineno": 314,
"outcome": "passed",
"keywords": [
"test_update_issue_multiple_fields",
"integration",
"pytestmark",
"test_update.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009397270623594522,
"outcome": "passed"
},
"call": {
"duration": 6.454925299854949,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing update_test_issue_multiple (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005452360492199659,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/issues/test_update.py::test_update_issue_no_changes",
"lineno": 374,
"outcome": "passed",
"keywords": [
"test_update_issue_no_changes",
"integration",
"pytestmark",
"test_update.py",
"issues",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.000930379843339324,
"outcome": "passed"
},
"call": {
"duration": 4.987639229046181,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing update_test_issue_no_changes (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0008671360556036234,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/converters/common/test_pagination_integration.py::test_pagination_with_real_api",
"lineno": 17,
"outcome": "passed",
"keywords": [
"test_pagination_with_real_api",
"integration",
"pytestmark",
"test_pagination_integration.py",
"common",
"converters",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.003719477914273739,
"outcome": "passed"
},
"call": {
"duration": 10.416318193078041,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing get_paginated_issues (attempt 1/3)\nDEBUG: Executing get_all_issues (attempt 1/3)\nDEBUG: Executing get_page_issues (attempt 1/3)\nDEBUG: Executing get_filtered_issues (attempt 1/3)\nDEBUG: Executing get_empty_results (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0007253270596265793,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/converters/common/test_pagination_integration.py::test_pagination_with_converted_items",
"lineno": 107,
"outcome": "passed",
"keywords": [
"test_pagination_with_converted_items",
"integration",
"pytestmark",
"test_pagination_integration.py",
"common",
"converters",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009326820727437735,
"outcome": "passed"
},
"call": {
"duration": 76.14624694408849,
"outcome": "passed",
"stdout": "DEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing create_test_issue (attempt 1/3)\nDEBUG: Executing get_paginated_issues (attempt 1/3)\nDEBUG: Executing get_and_convert_issues (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\nDEBUG: Executing close_issue (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0008395721670240164,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/client/test_client.py::test_singleton_pattern",
"lineno": 22,
"outcome": "passed",
"keywords": [
"test_singleton_pattern",
"integration",
"pytestmark",
"test_client.py",
"client",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0027437240350991488,
"outcome": "passed"
},
"call": {
"duration": 0.0005552740767598152,
"outcome": "passed"
},
"teardown": {
"duration": 0.0005910429172217846,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/client/test_client.py::test_direct_instantiation",
"lineno": 37,
"outcome": "passed",
"keywords": [
"test_direct_instantiation",
"integration",
"pytestmark",
"test_client.py",
"client",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0004881399217993021,
"outcome": "passed"
},
"call": {
"duration": 0.0008834539912641048,
"outcome": "passed"
},
"teardown": {
"duration": 0.0004303308669477701,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/client/test_client.py::test_github_property",
"lineno": 45,
"outcome": "passed",
"keywords": [
"test_github_property",
"integration",
"pytestmark",
"test_client.py",
"client",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005237481091171503,
"outcome": "passed"
},
"call": {
"duration": 0.11323310597799718,
"outcome": "passed"
},
"teardown": {
"duration": 0.00047627417370676994,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/client/test_client.py::test_get_repo_success",
"lineno": 59,
"outcome": "passed",
"keywords": [
"test_get_repo_success",
"integration",
"pytestmark",
"test_client.py",
"client",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0010372200049459934,
"outcome": "passed"
},
"call": {
"duration": 0.40531498403288424,
"outcome": "passed",
"stdout": "DEBUG: Executing get_test_repo (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005665300413966179,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/client/test_client.py::test_get_repo_not_found",
"lineno": 73,
"outcome": "passed",
"keywords": [
"test_get_repo_not_found",
"integration",
"pytestmark",
"test_client.py",
"client",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0007362260948866606,
"outcome": "passed"
},
"call": {
"duration": 0.34096295409835875,
"outcome": "passed",
"stdout": "DEBUG: Executing get_nonexistent_repo (attempt 1/3)\n",
"stderr": "2025-03-13 00:57:50,372 - pygithub_mcp_server.client.client - ERROR - GitHub exception when getting repo AstroMined/nonexistent-repo-20250313005750: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/repos/repos#get-a-repository\", \"status\": \"404\"}\n2025-03-13 00:57:50,373 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/repos/repos#get-a-repository', 'status': '404'}\n2025-03-13 00:57:50,373 - pygithub_mcp_server.errors.handlers - ERROR - Resource not found\n",
"log": [
{
"name": "pygithub_mcp_server.client.client",
"msg": "GitHub exception when getting repo AstroMined/nonexistent-repo-20250313005750: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/repos/repos#get-a-repository\", \"status\": \"404\"}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/client/client.py",
"filename": "client.py",
"module": "client",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 144,
"funcName": "get_repo",
"created": 1741841870.3722615,
"msecs": 372.0,
"relativeCreated": 2447.7379322052,
"thread": 133735657873408,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1495323,
"asctime": "2025-03-13 00:57:50"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/repos/repos#get-a-repository', 'status': '404'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741841870.3731232,
"msecs": 373.0,
"relativeCreated": 2448.5995769500732,
"thread": 133735657873408,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1495323,
"asctime": "2025-03-13 00:57:50"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Resource not found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 130,
"funcName": "handle_github_exception",
"created": 1741841870.3735576,
"msecs": 373.0,
"relativeCreated": 2449.0339756011963,
"thread": 133735657873408,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1495323,
"asctime": "2025-03-13 00:57:50"
}
]
},
"teardown": {
"duration": 0.0005052399355918169,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/client/test_client.py::test_get_repo_invalid_name",
"lineno": 91,
"outcome": "passed",
"keywords": [
"test_get_repo_invalid_name",
"integration",
"pytestmark",
"test_client.py",
"client",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0006506210193037987,
"outcome": "passed"
},
"call": {
"duration": 0.3458192718680948,
"outcome": "passed",
"stdout": "DEBUG: Executing get_invalid_repo (attempt 1/3)\n",
"stderr": "2025-03-13 00:57:50,720 - pygithub_mcp_server.client.client - ERROR - GitHub exception when getting repo invalid/repo/name: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest\", \"status\": \"404\"}\n2025-03-13 00:57:50,721 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest', 'status': '404'}\n2025-03-13 00:57:50,721 - pygithub_mcp_server.errors.handlers - ERROR - Resource not found\n",
"log": [
{
"name": "pygithub_mcp_server.client.client",
"msg": "GitHub exception when getting repo invalid/repo/name: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest\", \"status\": \"404\"}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/client/client.py",
"filename": "client.py",
"module": "client",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 144,
"funcName": "get_repo",
"created": 1741841870.7206857,
"msecs": 720.0,
"relativeCreated": 2796.1621284484863,
"thread": 133735657873408,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1495323,
"asctime": "2025-03-13 00:57:50"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest', 'status': '404'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741841870.7214818,
"msecs": 721.0,
"relativeCreated": 2796.9582080841064,
"thread": 133735657873408,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1495323,
"asctime": "2025-03-13 00:57:50"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Resource not found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 130,
"funcName": "handle_github_exception",
"created": 1741841870.7218933,
"msecs": 721.0,
"relativeCreated": 2797.3697185516357,
"thread": 133735657873408,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1495323,
"asctime": "2025-03-13 00:57:50"
}
]
},
"teardown": {
"duration": 0.0005665738135576248,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/client/test_rate_limit.py::TestRateLimit::test_check_rate_limit_real_api",
"lineno": 30,
"outcome": "passed",
"keywords": [
"test_check_rate_limit_real_api",
"TestRateLimit",
"integration",
"test_rate_limit.py",
"client",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005518968682736158,
"outcome": "passed"
},
"call": {
"duration": 0.36396862589754164,
"outcome": "passed"
},
"teardown": {
"duration": 0.0004884309601038694,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/client/test_rate_limit.py::TestRateLimit::test_exponential_backoff",
"lineno": 44,
"outcome": "passed",
"keywords": [
"test_exponential_backoff",
"TestRateLimit",
"integration",
"test_rate_limit.py",
"client",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005157941486686468,
"outcome": "passed"
},
"call": {
"duration": 0.000584576977416873,
"outcome": "passed"
},
"teardown": {
"duration": 0.0004255198873579502,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/client/test_rate_limit.py::TestRateLimit::test_exponential_backoff_max_attempts",
"lineno": 64,
"outcome": "passed",
"keywords": [
"test_exponential_backoff_max_attempts",
"TestRateLimit",
"integration",
"test_rate_limit.py",
"client",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0004842530470341444,
"outcome": "passed"
},
"call": {
"duration": 0.000965955900028348,
"outcome": "passed"
},
"teardown": {
"duration": 0.0004253129009157419,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/client/test_rate_limit.py::TestRateLimit::test_wait_for_rate_limit_reset_past_time",
"lineno": 70,
"outcome": "passed",
"keywords": [
"test_wait_for_rate_limit_reset_past_time",
"TestRateLimit",
"integration",
"test_rate_limit.py",
"client",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0004905539099127054,
"outcome": "passed"
},
"call": {
"duration": 0.10102150100283325,
"outcome": "passed"
},
"teardown": {
"duration": 0.0004610358737409115,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/client/test_rate_limit.py::TestRateLimit::test_wait_for_rate_limit_reset_future_time",
"lineno": 85,
"outcome": "passed",
"keywords": [
"test_wait_for_rate_limit_reset_future_time",
"TestRateLimit",
"integration",
"test_rate_limit.py",
"client",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005039798561483622,
"outcome": "passed"
},
"call": {
"duration": 0.3012988760601729,
"outcome": "passed"
},
"teardown": {
"duration": 0.0005020580720156431,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/client/test_rate_limit.py::TestRateLimit::test_handle_rate_limit_with_backoff_test_mode",
"lineno": 99,
"outcome": "passed",
"keywords": [
"test_handle_rate_limit_with_backoff_test_mode",
"TestRateLimit",
"integration",
"test_rate_limit.py",
"client",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.000527665950357914,
"outcome": "passed"
},
"call": {
"duration": 0.10098705207929015,
"outcome": "passed"
},
"teardown": {
"duration": 0.00042229797691106796,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/client/test_rate_limit.py::TestRateLimit::test_handle_rate_limit_with_backoff_max_attempts",
"lineno": 123,
"outcome": "passed",
"keywords": [
"test_handle_rate_limit_with_backoff_max_attempts",
"TestRateLimit",
"integration",
"test_rate_limit.py",
"client",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005089279729872942,
"outcome": "passed"
},
"call": {
"duration": 0.0013858340680599213,
"outcome": "passed",
"stderr": "2025-03-13 00:57:51,610 - pygithub_mcp_server.client.rate_limit - ERROR - Maximum retry attempts (5) exceeded for rate limit\n",
"log": [
{
"name": "pygithub_mcp_server.client.rate_limit",
"msg": "Maximum retry attempts (5) exceeded for rate limit",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/client/rate_limit.py",
"filename": "rate_limit.py",
"module": "rate_limit",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 110,
"funcName": "handle_rate_limit_with_backoff",
"created": 1741841871.610197,
"msecs": 610.0,
"relativeCreated": 3685.673475265503,
"thread": 133735657873408,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1495323,
"asctime": "2025-03-13 00:57:51"
}
]
},
"teardown": {
"duration": 0.00043724896386265755,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/client/test_rate_limit.py::TestRateLimit::test_handle_rate_limit_with_exception_reset_time",
"lineno": 143,
"outcome": "passed",
"keywords": [
"test_handle_rate_limit_with_exception_reset_time",
"TestRateLimit",
"integration",
"test_rate_limit.py",
"client",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.000707132974639535,
"outcome": "passed"
},
"call": {
"duration": 0.10086924186907709,
"outcome": "passed"
},
"teardown": {
"duration": 0.0004944449756294489,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/client/test_rate_limit.py::TestRateLimit::test_handle_rate_limit_without_reset_time",
"lineno": 192,
"outcome": "passed",
"keywords": [
"test_handle_rate_limit_without_reset_time",
"TestRateLimit",
"integration",
"test_rate_limit.py",
"client",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0006587908137589693,
"outcome": "passed"
},
"call": {
"duration": 0.010772905079647899,
"outcome": "passed"
},
"teardown": {
"duration": 0.0007914900779724121,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_error_cases.py::TestIssueToolsErrorHandling::test_create_issue_missing_required_params",
"lineno": 33,
"outcome": "passed",
"keywords": [
"test_create_issue_missing_required_params",
"TestIssueToolsErrorHandling",
"integration",
"test_error_cases.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.002841580891981721,
"outcome": "passed"
},
"call": {
"duration": 0.0016612280160188675,
"outcome": "passed",
"stderr": "2025-03-13 01:09:05,284 - pygithub_mcp_server.tools.issues.tools - ERROR - Failed to convert dict to CreateIssueParams: 1 validation error for CreateIssueParams\ntitle\n Field required [type=missing, input_value={'owner': 'AstroMined', 'repo': 'mcp-testing'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing\n",
"log": [
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "Failed to convert dict to CreateIssueParams: 1 validation error for CreateIssueParams\ntitle\n Field required [type=missing, input_value={'owner': 'AstroMined', 'repo': 'mcp-testing'}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.10/v/missing",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 57,
"funcName": "create_issue",
"created": 1741842545.2842546,
"msecs": 284.0,
"relativeCreated": 1670.8173751831055,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:05"
}
]
},
"teardown": {
"duration": 0.0005976969841867685,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_error_cases.py::TestIssueToolsErrorHandling::test_create_issue_invalid_repo",
"lineno": 49,
"outcome": "passed",
"keywords": [
"test_create_issue_invalid_repo",
"TestIssueToolsErrorHandling",
"integration",
"test_error_cases.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005360760260373354,
"outcome": "passed"
},
"call": {
"duration": 0.09638599515892565,
"outcome": "passed",
"stderr": "2025-03-13 01:09:05,382 - pygithub_mcp_server.client.client - ERROR - GitHub exception when getting repo AstroMined/non-existent-repo-12345: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/repos/repos#get-a-repository\", \"status\": \"404\"}\n2025-03-13 01:09:05,382 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/repos/repos#get-a-repository', 'status': '404'}\n2025-03-13 01:09:05,383 - pygithub_mcp_server.errors.handlers - ERROR - Resource not found\n2025-03-13 01:09:05,383 - pygithub_mcp_server.tools.issues.tools - ERROR - GitHub error: Repository not found\n",
"log": [
{
"name": "pygithub_mcp_server.client.client",
"msg": "GitHub exception when getting repo AstroMined/non-existent-repo-12345: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/repos/repos#get-a-repository\", \"status\": \"404\"}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/client/client.py",
"filename": "client.py",
"module": "client",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 144,
"funcName": "get_repo",
"created": 1741842545.3821754,
"msecs": 382.0,
"relativeCreated": 1768.7382698059082,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:05"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/repos/repos#get-a-repository', 'status': '404'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741842545.3829944,
"msecs": 382.0,
"relativeCreated": 1769.557237625122,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:05"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Resource not found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 130,
"funcName": "handle_github_exception",
"created": 1741842545.3834157,
"msecs": 383.0,
"relativeCreated": 1769.9785232543945,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:05"
},
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "GitHub error: Repository not found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 70,
"funcName": "create_issue",
"created": 1741842545.3838198,
"msecs": 383.0,
"relativeCreated": 1770.3826427459717,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:05"
}
]
},
"teardown": {
"duration": 0.0004850819241255522,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_error_cases.py::TestIssueToolsErrorHandling::test_get_issue_invalid_number",
"lineno": 65,
"outcome": "passed",
"keywords": [
"test_get_issue_invalid_number",
"TestIssueToolsErrorHandling",
"integration",
"test_error_cases.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005692951381206512,
"outcome": "passed"
},
"call": {
"duration": 0.7446620739065111,
"outcome": "passed",
"stderr": "2025-03-13 01:09:06,129 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/issues/issues#get-an-issue', 'status': '404'}\n2025-03-13 01:09:06,130 - pygithub_mcp_server.errors.handlers - ERROR - Resource not found\n2025-03-13 01:09:06,131 - pygithub_mcp_server.tools.issues.tools - ERROR - GitHub error: Not Found\n",
"log": [
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/issues/issues#get-an-issue', 'status': '404'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741842546.1298203,
"msecs": 129.0,
"relativeCreated": 2516.383171081543,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:06"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Resource not found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 130,
"funcName": "handle_github_exception",
"created": 1741842546.1306677,
"msecs": 130.0,
"relativeCreated": 2517.23051071167,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:06"
},
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "GitHub error: Not Found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 147,
"funcName": "get_issue",
"created": 1741842546.1311007,
"msecs": 131.0,
"relativeCreated": 2517.6634788513184,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:06"
}
]
},
"teardown": {
"duration": 0.0004940340295433998,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_error_cases.py::TestIssueToolsErrorHandling::test_update_issue_nonexistent",
"lineno": 81,
"outcome": "passed",
"keywords": [
"test_update_issue_nonexistent",
"TestIssueToolsErrorHandling",
"integration",
"test_error_cases.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005575479008257389,
"outcome": "passed"
},
"call": {
"duration": 0.7664988560136408,
"outcome": "passed",
"stderr": "2025-03-13 01:09:06,899 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/issues/issues#get-an-issue', 'status': '404'}\n2025-03-13 01:09:06,899 - pygithub_mcp_server.errors.handlers - ERROR - Resource not found\n2025-03-13 01:09:06,900 - pygithub_mcp_server.tools.issues.tools - ERROR - GitHub error: Not Found\n",
"log": [
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/issues/issues#get-an-issue', 'status': '404'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741842546.8990858,
"msecs": 899.0,
"relativeCreated": 3285.6485843658447,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:06"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Resource not found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 130,
"funcName": "handle_github_exception",
"created": 1741842546.899939,
"msecs": 899.0,
"relativeCreated": 3286.501884460449,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:06"
},
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "GitHub error: Not Found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 188,
"funcName": "update_issue",
"created": 1741842546.9003587,
"msecs": 900.0,
"relativeCreated": 3286.921501159668,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:06"
}
]
},
"teardown": {
"duration": 0.000494346022605896,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_error_cases.py::TestIssueToolsErrorHandling::test_update_issue_empty_values",
"lineno": 96,
"outcome": "passed",
"keywords": [
"test_update_issue_empty_values",
"TestIssueToolsErrorHandling",
"integration",
"test_error_cases.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0011505289003252983,
"outcome": "passed"
},
"call": {
"duration": 3.7548668819945306,
"outcome": "passed"
},
"teardown": {
"duration": 2.406926338095218,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_error_cases.py::TestIssueToolsErrorHandling::test_add_issue_comment_invalid_issue",
"lineno": 126,
"outcome": "passed",
"keywords": [
"test_add_issue_comment_invalid_issue",
"TestIssueToolsErrorHandling",
"integration",
"test_error_cases.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0006083180196583271,
"outcome": "passed"
},
"call": {
"duration": 0.7820778388995677,
"outcome": "passed",
"stderr": "2025-03-13 01:09:13,849 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/issues/issues#get-an-issue', 'status': '404'}\n2025-03-13 01:09:13,849 - pygithub_mcp_server.errors.handlers - ERROR - Resource not found\n2025-03-13 01:09:13,850 - pygithub_mcp_server.tools.issues.tools - ERROR - GitHub error: Not Found\n",
"log": [
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/issues/issues#get-an-issue', 'status': '404'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741842553.8490274,
"msecs": 849.0,
"relativeCreated": 10235.59021949768,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:13"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Resource not found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 130,
"funcName": "handle_github_exception",
"created": 1741842553.8498883,
"msecs": 849.0,
"relativeCreated": 10236.451148986816,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:13"
},
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "GitHub error: Not Found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 224,
"funcName": "add_issue_comment",
"created": 1741842553.8503332,
"msecs": 850.0,
"relativeCreated": 10236.89603805542,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:13"
}
]
},
"teardown": {
"duration": 0.0004996028728783131,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_error_cases.py::TestIssueToolsErrorHandling::test_list_issue_comments_invalid_issue",
"lineno": 141,
"outcome": "passed",
"keywords": [
"test_list_issue_comments_invalid_issue",
"TestIssueToolsErrorHandling",
"integration",
"test_error_cases.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005303418729454279,
"outcome": "passed"
},
"call": {
"duration": 0.7884129760786891,
"outcome": "passed",
"stderr": "2025-03-13 01:09:14,639 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/issues/issues#get-an-issue', 'status': '404'}\n2025-03-13 01:09:14,640 - pygithub_mcp_server.errors.handlers - ERROR - Resource not found\n2025-03-13 01:09:14,641 - pygithub_mcp_server.tools.issues.tools - ERROR - GitHub error: Not Found\n",
"log": [
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/issues/issues#get-an-issue', 'status': '404'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741842554.6399746,
"msecs": 639.0,
"relativeCreated": 11026.537418365479,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:14"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Resource not found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 130,
"funcName": "handle_github_exception",
"created": 1741842554.6408672,
"msecs": 640.0,
"relativeCreated": 11027.430057525635,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:14"
},
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "GitHub error: Not Found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 262,
"funcName": "list_issue_comments",
"created": 1741842554.6413667,
"msecs": 641.0,
"relativeCreated": 11027.929544448853,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:14"
}
]
},
"teardown": {
"duration": 0.0004860600456595421,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_error_cases.py::TestIssueToolsErrorHandling::test_list_issue_comments_pagination",
"lineno": 155,
"outcome": "passed",
"keywords": [
"test_list_issue_comments_pagination",
"TestIssueToolsErrorHandling",
"integration",
"test_error_cases.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009514549747109413,
"outcome": "passed"
},
"call": {
"duration": 7.2830758050549775,
"outcome": "passed"
},
"teardown": {
"duration": 2.4655720780137926,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_error_cases.py::TestIssueToolsErrorHandling::test_update_comment_nonexistent",
"lineno": 196,
"outcome": "passed",
"keywords": [
"test_update_comment_nonexistent",
"TestIssueToolsErrorHandling",
"integration",
"test_error_cases.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0010280839633196592,
"outcome": "passed"
},
"call": {
"duration": 2.517949116183445,
"outcome": "passed",
"stderr": "2025-03-13 01:09:26,912 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/issues/comments#get-an-issue-comment', 'status': '404'}\n2025-03-13 01:09:26,913 - pygithub_mcp_server.errors.handlers - ERROR - Resource not found\n2025-03-13 01:09:26,914 - pygithub_mcp_server.tools.issues.tools - ERROR - GitHub error: Not Found\n",
"log": [
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/issues/comments#get-an-issue-comment', 'status': '404'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741842566.9127085,
"msecs": 912.0,
"relativeCreated": 23299.27134513855,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:26"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Resource not found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 130,
"funcName": "handle_github_exception",
"created": 1741842566.9135659,
"msecs": 913.0,
"relativeCreated": 23300.128698349,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:26"
},
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "GitHub error: Not Found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 299,
"funcName": "update_issue_comment",
"created": 1741842566.9140172,
"msecs": 914.0,
"relativeCreated": 23300.58002471924,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:26"
}
]
},
"teardown": {
"duration": 2.452298315940425,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_error_cases.py::TestIssueToolsErrorHandling::test_delete_comment_nonexistent",
"lineno": 226,
"outcome": "passed",
"keywords": [
"test_delete_comment_nonexistent",
"TestIssueToolsErrorHandling",
"integration",
"test_error_cases.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0010375950951129198,
"outcome": "passed"
},
"call": {
"duration": 2.508570801001042,
"outcome": "passed",
"stderr": "2025-03-13 01:09:31,876 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/issues/comments#get-an-issue-comment', 'status': '404'}\n2025-03-13 01:09:31,877 - pygithub_mcp_server.errors.handlers - ERROR - Resource not found\n2025-03-13 01:09:31,877 - pygithub_mcp_server.tools.issues.tools - ERROR - GitHub error: Not Found\n",
"log": [
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/issues/comments#get-an-issue-comment', 'status': '404'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741842571.8765051,
"msecs": 876.0,
"relativeCreated": 28263.067960739136,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:31"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Resource not found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 130,
"funcName": "handle_github_exception",
"created": 1741842571.8773682,
"msecs": 877.0,
"relativeCreated": 28263.931035995483,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:31"
},
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "GitHub error: Not Found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 335,
"funcName": "delete_issue_comment",
"created": 1741842571.8777971,
"msecs": 877.0,
"relativeCreated": 28264.359951019287,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:31"
}
]
},
"teardown": {
"duration": 2.5979348809923977,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_error_cases.py::TestIssueToolsErrorHandling::test_add_labels_nonexistent_issue",
"lineno": 255,
"outcome": "passed",
"keywords": [
"test_add_labels_nonexistent_issue",
"TestIssueToolsErrorHandling",
"integration",
"test_error_cases.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005876331124454737,
"outcome": "passed"
},
"call": {
"duration": 0.7433478890452534,
"outcome": "passed",
"stderr": "2025-03-13 01:09:35,220 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/issues/issues#get-an-issue', 'status': '404'}\n2025-03-13 01:09:35,221 - pygithub_mcp_server.errors.handlers - ERROR - Resource not found\n2025-03-13 01:09:35,221 - pygithub_mcp_server.tools.issues.tools - ERROR - GitHub error: Not Found\n",
"log": [
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/issues/issues#get-an-issue', 'status': '404'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741842575.2202783,
"msecs": 220.0,
"relativeCreated": 31606.84108734131,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:35"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Resource not found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 130,
"funcName": "handle_github_exception",
"created": 1741842575.2211466,
"msecs": 221.0,
"relativeCreated": 31607.709407806396,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:35"
},
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "GitHub error: Not Found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 371,
"funcName": "add_issue_labels",
"created": 1741842575.2215588,
"msecs": 221.0,
"relativeCreated": 31608.121633529663,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:35"
}
]
},
"teardown": {
"duration": 0.0004869680851697922,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_error_cases.py::TestIssueToolsErrorHandling::test_remove_label_nonexistent_issue",
"lineno": 270,
"outcome": "passed",
"keywords": [
"test_remove_label_nonexistent_issue",
"TestIssueToolsErrorHandling",
"integration",
"test_error_cases.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005509450566023588,
"outcome": "passed"
},
"call": {
"duration": 0.7648788811638951,
"outcome": "passed",
"stderr": "2025-03-13 01:09:35,985 - pygithub_mcp_server.tools.issues.tools - ERROR - Unexpected error: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/issues/issues#get-an-issue\", \"status\": \"404\"}\n2025-03-13 01:09:35,988 - pygithub_mcp_server.tools.issues.tools - ERROR - Traceback (most recent call last):\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py\", line 406, in remove_issue_label\n issue = repository.get_issue(params.issue_number)\n File \"/code/python-mcp-servers/pygithub-mcp-server/.venv/lib/python3.10/site-packages/github/Repository.py\", line 3087, in get_issue\n headers, data = self._requester.requestJsonAndCheck(\"GET\", f\"{self.url}/issues/{number}\")\n File \"/code/python-mcp-servers/pygithub-mcp-server/.venv/lib/python3.10/site-packages/github/Requester.py\", line 624, in requestJsonAndCheck\n return self.__check(\n File \"/code/python-mcp-servers/pygithub-mcp-server/.venv/lib/python3.10/site-packages/github/Requester.py\", line 792, in __check\n raise self.createException(status, responseHeaders, data)\ngithub.GithubException.UnknownObjectException: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/issues/issues#get-an-issue\", \"status\": \"404\"}\n\n",
"log": [
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "Unexpected error: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/issues/issues#get-an-issue\", \"status\": \"404\"}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 431,
"funcName": "remove_issue_label",
"created": 1741842575.985226,
"msecs": 985.0,
"relativeCreated": 32371.78874015808,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:35"
},
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "Traceback (most recent call last):\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py\", line 406, in remove_issue_label\n issue = repository.get_issue(params.issue_number)\n File \"/code/python-mcp-servers/pygithub-mcp-server/.venv/lib/python3.10/site-packages/github/Repository.py\", line 3087, in get_issue\n headers, data = self._requester.requestJsonAndCheck(\"GET\", f\"{self.url}/issues/{number}\")\n File \"/code/python-mcp-servers/pygithub-mcp-server/.venv/lib/python3.10/site-packages/github/Requester.py\", line 624, in requestJsonAndCheck\n return self.__check(\n File \"/code/python-mcp-servers/pygithub-mcp-server/.venv/lib/python3.10/site-packages/github/Requester.py\", line 792, in __check\n raise self.createException(status, responseHeaders, data)\ngithub.GithubException.UnknownObjectException: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/issues/issues#get-an-issue\", \"status\": \"404\"}\n",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 432,
"funcName": "remove_issue_label",
"created": 1741842575.9889977,
"msecs": 988.0,
"relativeCreated": 32375.560522079468,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:35"
}
]
},
"teardown": {
"duration": 0.000503412215039134,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_error_cases.py::TestIssueToolsErrorHandling::test_remove_nonexistent_label",
"lineno": 285,
"outcome": "passed",
"keywords": [
"test_remove_nonexistent_label",
"TestIssueToolsErrorHandling",
"integration",
"test_error_cases.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009699899237602949,
"outcome": "passed"
},
"call": {
"duration": 2.240819641156122,
"outcome": "passed",
"stderr": "2025-03-13 01:09:38,232 - pygithub_mcp_server.tools.issues.tools - WARNING - Label 'nonexistent-label-test-c5a1fa74' does not exist on issue #1727\n",
"log": [
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "Label 'nonexistent-label-test-c5a1fa74' does not exist on issue #1727",
"args": null,
"levelname": "WARNING",
"levelno": 30,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 414,
"funcName": "remove_issue_label",
"created": 1741842578.2326267,
"msecs": 232.0,
"relativeCreated": 34619.189500808716,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:38"
}
]
},
"teardown": {
"duration": 2.402647300157696,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_error_cases.py::TestIssueToolsErrorHandling::test_list_issues_pagination",
"lineno": 316,
"outcome": "passed",
"keywords": [
"test_list_issues_pagination",
"TestIssueToolsErrorHandling",
"integration",
"test_error_cases.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005867111030966043,
"outcome": "passed"
},
"call": {
"duration": 2.8928480178583413,
"outcome": "passed"
},
"teardown": {
"duration": 0.0005785441026091576,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_error_cases.py::TestIssueToolsErrorHandling::test_list_issues_invalid_params",
"lineno": 333,
"outcome": "passed",
"keywords": [
"test_list_issues_invalid_params",
"TestIssueToolsErrorHandling",
"integration",
"test_error_cases.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.000577322905883193,
"outcome": "passed"
},
"call": {
"duration": 0.006633823970332742,
"outcome": "passed",
"stderr": "2025-03-13 01:09:43,535 - pygithub_mcp_server.tools - ERROR - Failed to convert dict to ListIssuesParams: 1 validation error for ListIssuesParams\nstate\n Value error, Invalid state: invalid_state. Must be one of: open, closed, all [type=value_error, input_value='invalid_state', input_type=str]\n For further information visit https://errors.pydantic.dev/2.10/v/value_error\n2025-03-13 01:09:43,536 - pygithub_mcp_server.tools.issues.tools - ERROR - Unexpected error: 'dict' object has no attribute 'owner'\n2025-03-13 01:09:43,538 - pygithub_mcp_server.tools.issues.tools - ERROR - Traceback (most recent call last):\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py\", line 106, in list_issues\n result = issues.list_issues(params)\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/operations/issues.py\", line 187, in list_issues\n repository = client.get_repo(f\"{params.owner}/{params.repo}\")\nAttributeError: 'dict' object has no attribute 'owner'\n\n2025-03-13 01:09:43,539 - pygithub_mcp_server.tools - ERROR - Failed to convert dict to ListIssuesParams: 1 validation error for ListIssuesParams\nsort\n Value error, Invalid sort value: invalid_sort. Must be one of: created, updated, comments [type=value_error, input_value='invalid_sort', input_type=str]\n For further information visit https://errors.pydantic.dev/2.10/v/value_error\n2025-03-13 01:09:43,539 - pygithub_mcp_server.tools.issues.tools - ERROR - Unexpected error: 'dict' object has no attribute 'owner'\n2025-03-13 01:09:43,541 - pygithub_mcp_server.tools.issues.tools - ERROR - Traceback (most recent call last):\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py\", line 106, in list_issues\n result = issues.list_issues(params)\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/operations/issues.py\", line 187, in list_issues\n repository = client.get_repo(f\"{params.owner}/{params.repo}\")\nAttributeError: 'dict' object has no attribute 'owner'\n\n",
"log": [
{
"name": "pygithub_mcp_server.tools",
"msg": "Failed to convert dict to ListIssuesParams: 1 validation error for ListIssuesParams\nstate\n Value error, Invalid state: invalid_state. Must be one of: open, closed, all [type=value_error, input_value='invalid_state', input_type=str]\n For further information visit https://errors.pydantic.dev/2.10/v/value_error",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/__init__.py",
"filename": "__init__.py",
"module": "__init__",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 65,
"funcName": "wrapper",
"created": 1741842583.535709,
"msecs": 535.0,
"relativeCreated": 39922.271728515625,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:43"
},
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "Unexpected error: 'dict' object has no attribute 'owner'",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 118,
"funcName": "list_issues",
"created": 1741842583.536469,
"msecs": 536.0,
"relativeCreated": 39923.0318069458,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:43"
},
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "Traceback (most recent call last):\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py\", line 106, in list_issues\n result = issues.list_issues(params)\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/operations/issues.py\", line 187, in list_issues\n repository = client.get_repo(f\"{params.owner}/{params.repo}\")\nAttributeError: 'dict' object has no attribute 'owner'\n",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 119,
"funcName": "list_issues",
"created": 1741842583.5384774,
"msecs": 538.0,
"relativeCreated": 39925.04024505615,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:43"
},
{
"name": "pygithub_mcp_server.tools",
"msg": "Failed to convert dict to ListIssuesParams: 1 validation error for ListIssuesParams\nsort\n Value error, Invalid sort value: invalid_sort. Must be one of: created, updated, comments [type=value_error, input_value='invalid_sort', input_type=str]\n For further information visit https://errors.pydantic.dev/2.10/v/value_error",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/__init__.py",
"filename": "__init__.py",
"module": "__init__",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 65,
"funcName": "wrapper",
"created": 1741842583.5390253,
"msecs": 539.0,
"relativeCreated": 39925.58813095093,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:43"
},
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "Unexpected error: 'dict' object has no attribute 'owner'",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 118,
"funcName": "list_issues",
"created": 1741842583.5394583,
"msecs": 539.0,
"relativeCreated": 39926.021099090576,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:43"
},
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "Traceback (most recent call last):\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py\", line 106, in list_issues\n result = issues.list_issues(params)\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/operations/issues.py\", line 187, in list_issues\n repository = client.get_repo(f\"{params.owner}/{params.repo}\")\nAttributeError: 'dict' object has no attribute 'owner'\n",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 119,
"funcName": "list_issues",
"created": 1741842583.5411072,
"msecs": 541.0,
"relativeCreated": 39927.67000198364,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:43"
}
]
},
"teardown": {
"duration": 0.00046380492858588696,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_error_cases.py::TestIssueToolsErrorHandling::test_list_issues_invalid_since",
"lineno": 361,
"outcome": "passed",
"keywords": [
"test_list_issues_invalid_since",
"TestIssueToolsErrorHandling",
"integration",
"test_error_cases.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005593548994511366,
"outcome": "passed"
},
"call": {
"duration": 0.0034716969821602106,
"outcome": "passed",
"stderr": "2025-03-13 01:09:43,544 - pygithub_mcp_server.tools - ERROR - Failed to convert dict to ListIssuesParams: 1 validation error for ListIssuesParams\nsince\n Value error, Invalid ISO format datetime: not-a-date. Must include date, time with 'T' separator, and timezone. [type=value_error, input_value='not-a-date', input_type=str]\n For further information visit https://errors.pydantic.dev/2.10/v/value_error\n2025-03-13 01:09:43,545 - pygithub_mcp_server.tools.issues.tools - ERROR - Unexpected error: 'dict' object has no attribute 'owner'\n2025-03-13 01:09:43,547 - pygithub_mcp_server.tools.issues.tools - ERROR - Traceback (most recent call last):\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py\", line 106, in list_issues\n result = issues.list_issues(params)\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/operations/issues.py\", line 187, in list_issues\n repository = client.get_repo(f\"{params.owner}/{params.repo}\")\nAttributeError: 'dict' object has no attribute 'owner'\n\n",
"log": [
{
"name": "pygithub_mcp_server.tools",
"msg": "Failed to convert dict to ListIssuesParams: 1 validation error for ListIssuesParams\nsince\n Value error, Invalid ISO format datetime: not-a-date. Must include date, time with 'T' separator, and timezone. [type=value_error, input_value='not-a-date', input_type=str]\n For further information visit https://errors.pydantic.dev/2.10/v/value_error",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/__init__.py",
"filename": "__init__.py",
"module": "__init__",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 65,
"funcName": "wrapper",
"created": 1741842583.5448132,
"msecs": 544.0,
"relativeCreated": 39931.3759803772,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:43"
},
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "Unexpected error: 'dict' object has no attribute 'owner'",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 118,
"funcName": "list_issues",
"created": 1741842583.5454414,
"msecs": 545.0,
"relativeCreated": 39932.00421333313,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:43"
},
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "Traceback (most recent call last):\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py\", line 106, in list_issues\n result = issues.list_issues(params)\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/operations/issues.py\", line 187, in list_issues\n repository = client.get_repo(f\"{params.owner}/{params.repo}\")\nAttributeError: 'dict' object has no attribute 'owner'\n",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 119,
"funcName": "list_issues",
"created": 1741842583.547147,
"msecs": 547.0,
"relativeCreated": 39933.70985984802,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:43"
}
]
},
"teardown": {
"duration": 0.0004974589683115482,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_error_cases.py::TestIssueToolsErrorHandling::test_list_issue_comments_invalid_since",
"lineno": 375,
"outcome": "passed",
"keywords": [
"test_list_issue_comments_invalid_since",
"TestIssueToolsErrorHandling",
"integration",
"test_error_cases.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0010177139192819595,
"outcome": "passed"
},
"call": {
"duration": 1.4137614250648767,
"outcome": "passed",
"stderr": "2025-03-13 01:09:44,960 - pygithub_mcp_server.tools - ERROR - Failed to convert dict to ListIssueCommentsParams: 1 validation error for ListIssueCommentsParams\nsince\n Value error, Invalid ISO format datetime: not-a-date. Must include date, time with 'T' separator, and timezone. [type=value_error, input_value='not-a-date', input_type=str]\n For further information visit https://errors.pydantic.dev/2.10/v/value_error\n2025-03-13 01:09:44,961 - pygithub_mcp_server.tools.issues.tools - ERROR - Unexpected error: 'dict' object has no attribute 'owner'\n2025-03-13 01:09:44,963 - pygithub_mcp_server.tools.issues.tools - ERROR - Traceback (most recent call last):\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py\", line 258, in list_issue_comments\n result = issues.list_issue_comments(params)\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/operations/issues.py\", line 285, in list_issue_comments\n repository = client.get_repo(f\"{params.owner}/{params.repo}\")\nAttributeError: 'dict' object has no attribute 'owner'\n\n",
"log": [
{
"name": "pygithub_mcp_server.tools",
"msg": "Failed to convert dict to ListIssueCommentsParams: 1 validation error for ListIssueCommentsParams\nsince\n Value error, Invalid ISO format datetime: not-a-date. Must include date, time with 'T' separator, and timezone. [type=value_error, input_value='not-a-date', input_type=str]\n For further information visit https://errors.pydantic.dev/2.10/v/value_error",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/__init__.py",
"filename": "__init__.py",
"module": "__init__",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 65,
"funcName": "wrapper",
"created": 1741842584.9600468,
"msecs": 960.0,
"relativeCreated": 41346.609592437744,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:44"
},
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "Unexpected error: 'dict' object has no attribute 'owner'",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 268,
"funcName": "list_issue_comments",
"created": 1741842584.9615211,
"msecs": 961.0,
"relativeCreated": 41348.08397293091,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:44"
},
{
"name": "pygithub_mcp_server.tools.issues.tools",
"msg": "Traceback (most recent call last):\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py\", line 258, in list_issue_comments\n result = issues.list_issue_comments(params)\n File \"/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/operations/issues.py\", line 285, in list_issue_comments\n repository = client.get_repo(f\"{params.owner}/{params.repo}\")\nAttributeError: 'dict' object has no attribute 'owner'\n",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/tools/issues/tools.py",
"filename": "tools.py",
"module": "tools",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 269,
"funcName": "list_issue_comments",
"created": 1741842584.963554,
"msecs": 963.0,
"relativeCreated": 41350.11672973633,
"thread": 137510112464896,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501385,
"asctime": "2025-03-13 01:09:44"
}
]
},
"teardown": {
"duration": 2.456584489904344,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_issue_tools.py::TestIssueTools::test_issue_lifecycle",
"lineno": 40,
"outcome": "passed",
"keywords": [
"test_issue_lifecycle",
"TestIssueTools",
"integration",
"test_issue_tools.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0014699678868055344,
"outcome": "passed"
},
"call": {
"duration": 20.52879438898526,
"outcome": "passed"
},
"teardown": {
"duration": 2.175072647863999,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/tools/issues/test_issue_tools.py::TestIssueTools::test_list_issues",
"lineno": 212,
"outcome": "passed",
"keywords": [
"test_list_issues",
"TestIssueTools",
"integration",
"test_issue_tools.py",
"issues",
"tools",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0010378179140388966,
"outcome": "passed"
},
"call": {
"duration": 100.63523008511402,
"outcome": "passed"
},
"teardown": {
"duration": 2.314816629048437,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/repositories/test_branch_operations_integration.py::test_create_branch_integration",
"lineno": 24,
"outcome": "passed",
"keywords": [
"test_create_branch_integration",
"integration",
"pytestmark",
"test_branch_operations_integration.py",
"repositories",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0037205000407993793,
"outcome": "passed"
},
"call": {
"duration": 1.0607327921316028,
"outcome": "passed",
"stdout": "DEBUG: Executing create_branch_with_retry (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0017975640948861837,
"outcome": "passed",
"stderr": "2025-03-13 01:08:42,760 - integration_tests - INFO - Skipping branch cleanup for AstroMined/mcp-testing:test-branch-test-20250313010841-a604004d (not implemented)\n",
"log": [
{
"name": "integration_tests",
"msg": "Skipping branch cleanup for AstroMined/mcp-testing:test-branch-test-20250313010841-a604004d (not implemented)",
"args": null,
"levelname": "INFO",
"levelno": 20,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/tests/integration/conftest.py",
"filename": "conftest.py",
"module": "conftest",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 186,
"funcName": "cleanup_all",
"created": 1741842522.7603917,
"msecs": 760.0,
"relativeCreated": 2758.5654258728027,
"thread": 133109550063616,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501170,
"asctime": "2025-03-13 01:08:42"
}
]
}
},
{
"nodeid": "tests/integration/operations/repositories/test_branch_operations_integration.py::test_create_branch_error_handling",
"lineno": 54,
"outcome": "passed",
"keywords": [
"test_create_branch_error_handling",
"integration",
"pytestmark",
"test_branch_operations_integration.py",
"repositories",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0007563859689980745,
"outcome": "passed"
},
"call": {
"duration": 0.7872189171612263,
"outcome": "passed",
"stdout": "DEBUG: Executing create_branch_with_invalid_source (attempt 1/3)\nDEBUG: Unexpected exception in create_branch_with_invalid_source: GitHubResourceNotFoundError: Git Ref not found\n",
"stderr": "2025-03-13 01:08:43,548 - pygithub_mcp_server.operations.repositories - ERROR - GitHub exception when creating branch: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/git/refs#get-all-references-in-a-namespace\", \"status\": \"404\"}\n2025-03-13 01:08:43,549 - pygithub_mcp_server.errors.handlers - ERROR - Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/git/refs#get-all-references-in-a-namespace', 'status': '404'}\n2025-03-13 01:08:43,549 - pygithub_mcp_server.errors.handlers - ERROR - Resource not found\n",
"log": [
{
"name": "pygithub_mcp_server.operations.repositories",
"msg": "GitHub exception when creating branch: 404 {\"message\": \"Not Found\", \"documentation_url\": \"https://docs.github.com/rest/git/refs#get-all-references-in-a-namespace\", \"status\": \"404\"}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/operations/repositories.py",
"filename": "repositories.py",
"module": "repositories",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 420,
"funcName": "create_branch",
"created": 1741842523.5483422,
"msecs": 548.0,
"relativeCreated": 3546.515941619873,
"thread": 133109550063616,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501170,
"asctime": "2025-03-13 01:08:43"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Handling GitHub exception: status=404, data={'message': 'Not Found', 'documentation_url': 'https://docs.github.com/rest/git/refs#get-all-references-in-a-namespace', 'status': '404'}",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 82,
"funcName": "handle_github_exception",
"created": 1741842523.549164,
"msecs": 549.0,
"relativeCreated": 3547.337770462036,
"thread": 133109550063616,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501170,
"asctime": "2025-03-13 01:08:43"
},
{
"name": "pygithub_mcp_server.errors.handlers",
"msg": "Resource not found",
"args": null,
"levelname": "ERROR",
"levelno": 40,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/src/pygithub_mcp_server/errors/handlers.py",
"filename": "handlers.py",
"module": "handlers",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 130,
"funcName": "handle_github_exception",
"created": 1741842523.549571,
"msecs": 549.0,
"relativeCreated": 3547.7447509765625,
"thread": 133109550063616,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501170,
"asctime": "2025-03-13 01:08:43"
}
]
},
"teardown": {
"duration": 0.0005390509031713009,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/repositories/test_branch_operations_integration.py::test_create_branch_and_list_commits",
"lineno": 87,
"outcome": "passed",
"keywords": [
"test_create_branch_and_list_commits",
"integration",
"pytestmark",
"test_branch_operations_integration.py",
"repositories",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0010684109292924404,
"outcome": "passed"
},
"call": {
"duration": 2.5128957498818636,
"outcome": "passed",
"stdout": "DEBUG: Executing create_branch_with_retry (attempt 1/3)\nDEBUG: Executing list_commits_with_retry (attempt 1/3)\n"
},
"teardown": {
"duration": 0.001353672007098794,
"outcome": "passed",
"stderr": "2025-03-13 01:08:46,067 - integration_tests - INFO - Skipping branch cleanup for AstroMined/mcp-testing:test-branch-commits-test-20250313010843-370f8eb1 (not implemented)\n",
"log": [
{
"name": "integration_tests",
"msg": "Skipping branch cleanup for AstroMined/mcp-testing:test-branch-commits-test-20250313010843-370f8eb1 (not implemented)",
"args": null,
"levelname": "INFO",
"levelno": 20,
"pathname": "/code/python-mcp-servers/pygithub-mcp-server/tests/integration/conftest.py",
"filename": "conftest.py",
"module": "conftest",
"exc_info": null,
"exc_text": null,
"stack_info": null,
"lineno": 186,
"funcName": "cleanup_all",
"created": 1741842526.067898,
"msecs": 67.0,
"relativeCreated": 6066.0717487335205,
"thread": 133109550063616,
"threadName": "MainThread",
"processName": "MainProcess",
"process": 1501170,
"asctime": "2025-03-13 01:08:46"
}
]
}
},
{
"nodeid": "tests/integration/operations/repositories/test_files_operations_integration.py::test_create_file_integration",
"lineno": 26,
"outcome": "passed",
"keywords": [
"test_create_file_integration",
"integration",
"pytestmark",
"test_files_operations_integration.py",
"repositories",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0010928038973361254,
"outcome": "passed"
},
"call": {
"duration": 1.1595288352109492,
"outcome": "passed",
"stdout": "DEBUG: Executing create_file_with_retry (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0006517190486192703,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/repositories/test_files_operations_integration.py::test_update_file_integration",
"lineno": 64,
"outcome": "passed",
"keywords": [
"test_update_file_integration",
"integration",
"pytestmark",
"test_files_operations_integration.py",
"repositories",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0010583270341157913,
"outcome": "passed"
},
"call": {
"duration": 3.719026613049209,
"outcome": "passed",
"stdout": "DEBUG: Executing create_initial_file (attempt 1/3)\nDEBUG: Executing update_file_with_retry (attempt 1/3)\nDEBUG: Executing get_file_with_retry (attempt 1/3)\n"
},
"teardown": {
"duration": 0.00062183802947402,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/repositories/test_files_operations_integration.py::test_push_files_integration",
"lineno": 137,
"outcome": "passed",
"keywords": [
"test_push_files_integration",
"integration",
"pytestmark",
"test_files_operations_integration.py",
"repositories",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.001044966047629714,
"outcome": "passed"
},
"call": {
"duration": 5.236946288030595,
"outcome": "passed",
"stdout": "DEBUG: Executing push_files_with_retry (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0006921340245753527,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/repositories/test_files_operations_integration.py::test_push_files_error_handling",
"lineno": 194,
"outcome": "passed",
"keywords": [
"test_push_files_error_handling",
"integration",
"pytestmark",
"test_files_operations_integration.py",
"repositories",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0009653528686612844,
"outcome": "passed"
},
"call": {
"duration": 0.0008262100163847208,
"outcome": "passed",
"stdout": "DEBUG: Executing push_invalid_files (attempt 1/3)\nDEBUG: Unexpected exception in push_invalid_files: GitHubError: File content cannot be empty\n"
},
"teardown": {
"duration": 0.0005035961512476206,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/repositories/test_repositories_integration.py::test_get_repository_integration",
"lineno": 22,
"outcome": "passed",
"keywords": [
"test_get_repository_integration",
"test_repositories_integration.py",
"integration",
"repositories",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0006791518535465002,
"outcome": "passed"
},
"call": {
"duration": 0.3961674808524549,
"outcome": "passed",
"stdout": "DEBUG: Executing get_repo_with_retry (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005329821724444628,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/repositories/test_repositories_integration.py::test_search_repositories_integration",
"lineno": 40,
"outcome": "passed",
"keywords": [
"test_search_repositories_integration",
"test_repositories_integration.py",
"integration",
"repositories",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0006910038646310568,
"outcome": "passed"
},
"call": {
"duration": 1.4414684840012342,
"outcome": "passed",
"stdout": "DEBUG: Executing search_repos_with_retry (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0005249399691820145,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/repositories/test_repositories_integration.py::test_get_file_contents_integration",
"lineno": 70,
"outcome": "passed",
"keywords": [
"test_get_file_contents_integration",
"test_repositories_integration.py",
"integration",
"repositories",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0006892490200698376,
"outcome": "passed"
},
"call": {
"duration": 0.7649056590162218,
"outcome": "passed",
"stdout": "DEBUG: Executing get_contents_with_retry (attempt 1/3)\n"
},
"teardown": {
"duration": 0.000523329945281148,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/operations/repositories/test_repositories_integration.py::test_list_commits_integration",
"lineno": 108,
"outcome": "passed",
"keywords": [
"test_list_commits_integration",
"test_repositories_integration.py",
"integration",
"repositories",
"operations",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.000719808042049408,
"outcome": "passed"
},
"call": {
"duration": 1.1980833671987057,
"outcome": "passed",
"stdout": "DEBUG: Executing list_commits_with_retry (attempt 1/3)\n"
},
"teardown": {
"duration": 0.0007817470468580723,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/test_server.py::TestServer::test_create_server_basic",
"lineno": 44,
"outcome": "passed",
"keywords": [
"test_create_server_basic",
"TestServer",
"integration",
"test_server.py",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.001903046853840351,
"outcome": "passed"
},
"call": {
"duration": 0.08779235789552331,
"outcome": "passed"
},
"teardown": {
"duration": 0.0006041720043867826,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/test_server.py::TestServer::test_server_tools_callable",
"lineno": 61,
"outcome": "passed",
"keywords": [
"test_server_tools_callable",
"TestServer",
"integration",
"test_server.py",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005120730493217707,
"outcome": "passed"
},
"call": {
"duration": 0.07559185894206166,
"outcome": "passed"
},
"teardown": {
"duration": 0.00046745012514293194,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/test_server.py::TestServer::test_server_metadata",
"lineno": 82,
"outcome": "passed",
"keywords": [
"test_server_metadata",
"TestServer",
"integration",
"test_server.py",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0005115619860589504,
"outcome": "passed"
},
"call": {
"duration": 0.10805089003406465,
"outcome": "passed"
},
"teardown": {
"duration": 0.000433565117418766,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/test_server.py::TestServer::test_server_with_custom_env",
"lineno": 94,
"outcome": "passed",
"keywords": [
"test_server_with_custom_env",
"TestServer",
"integration",
"test_server.py",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.0006745799910277128,
"outcome": "passed"
},
"call": {
"duration": 0.02499342104420066,
"outcome": "passed"
},
"teardown": {
"duration": 0.0005328019615262747,
"outcome": "passed"
}
},
{
"nodeid": "tests/integration/test_server.py::TestServer::test_server_logging_initialization",
"lineno": 115,
"outcome": "passed",
"keywords": [
"test_server_logging_initialization",
"TestServer",
"integration",
"test_server.py",
"tests",
"pygithub-mcp-server",
""
],
"setup": {
"duration": 0.004344149027019739,
"outcome": "passed"
},
"call": {
"duration": 0.002062931889668107,
"outcome": "passed"
},
"teardown": {
"duration": 0.0007009960245341063,
"outcome": "passed"
}
}
],
"warnings": []
}