gitwebhooks 2.3.0__tar.gz → 2.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/PKG-INFO +1 -1
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/__init__.py +1 -1
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/cli/serve.py +11 -10
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/cli/service.py +25 -72
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks.egg-info/PKG-INFO +1 -1
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/pyproject.toml +1 -1
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/.editorconfig +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/CLAUDE.md +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/LICENSE +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/MANIFEST.in +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/README.md +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/README.zh.md +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/custom-body.png +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/custom-header.png +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/custom-response.png +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/gitee-success.png +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/gitee.png +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/github-success.png +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/github.png +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/gitlab-success.png +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/gitlab.png +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/install.png +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/doc/uninstall.png +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/__main__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/auth/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/auth/custom.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/auth/factory.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/auth/gitee.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/auth/github.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/auth/gitlab.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/auth/verifier.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/cli/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/cli/config.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/cli/help.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/cli/init_wizard.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/cli/prompts.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/config/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/config/loader.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/config/models.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/config/registry.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/config/server.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/handlers/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/handlers/base.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/handlers/custom.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/handlers/factory.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/handlers/gitee.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/handlers/github.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/handlers/gitlab.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/handlers/request.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/logging/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/logging/setup.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/main/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/main/__main__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/main/version.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/models/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/models/config.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/models/provider.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/models/request.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/models/result.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/server.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/utils/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/utils/constants.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/utils/exceptions.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/utils/executor.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks/utils/systemd.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks.egg-info/SOURCES.txt +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks.egg-info/dependency_links.txt +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks.egg-info/entry_points.txt +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks.egg-info/requires.txt +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks.egg-info/top_level.txt +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/gitwebhooks.ini.sample +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/setup.cfg +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/__main__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/conftest.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/fixtures/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/fixtures/custom_payloads.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/fixtures/gitee_payloads.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/fixtures/github_payloads.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/fixtures/gitlab_payloads.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/fixtures/signature_builder.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/test_command_execution.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/test_config_discovery.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/test_config_view_integration.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/test_custom_webhook.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/test_edge_cases.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/test_gitee_webhook.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/test_github_webhook.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/integration/test_gitlab_webhook.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/test_auth/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/test_config/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/test_handlers/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/test_integration/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/cli/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/cli/test_config_view.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/cli/test_init_wizard.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_config_level.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_config_loading.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_data_parsing.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_install_service_logic.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_main.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_prompts_config_level.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_provider_detection.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_request_handler.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_service_install_context.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/unit/test_signature_verification.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/utils/__init__.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/utils/certificate_generator.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/utils/coverage_runner.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/utils/http_client.py +0 -0
- {gitwebhooks-2.3.0 → gitwebhooks-2.3.1}/tests/utils/server_manager.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitwebhooks
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.1
|
|
4
4
|
Summary: A lightweight Git webhook server for automated deployment supporting GitHub, Gitee, GitLab, and custom webhooks
|
|
5
5
|
Author-email: Troy Tse <troy@holyhi.net>
|
|
6
6
|
Maintainer-email: Troy Tse <troy@holyhi.net>
|
|
@@ -13,12 +13,7 @@ from gitwebhooks.utils.exceptions import ConfigurationError
|
|
|
13
13
|
from gitwebhooks.utils.constants import CONFIG_SEARCH_PATHS
|
|
14
14
|
|
|
15
15
|
# Import service management functions
|
|
16
|
-
from gitwebhooks.cli.service import
|
|
17
|
-
cmd_install as service_cmd_install,
|
|
18
|
-
cmd_uninstall as service_cmd_uninstall,
|
|
19
|
-
install_service,
|
|
20
|
-
uninstall_service,
|
|
21
|
-
)
|
|
16
|
+
from gitwebhooks.cli.service import install_service, uninstall_service
|
|
22
17
|
|
|
23
18
|
# Import version display
|
|
24
19
|
from gitwebhooks import __version__
|
|
@@ -48,11 +43,17 @@ def cmd_serve(args: argparse.Namespace) -> int:
|
|
|
48
43
|
serve_action = getattr(args, 'serve_action', None)
|
|
49
44
|
|
|
50
45
|
if serve_action == 'install':
|
|
51
|
-
#
|
|
52
|
-
return
|
|
46
|
+
# Call install_service directly (no deprecation warning)
|
|
47
|
+
return install_service(
|
|
48
|
+
force=getattr(args, 'force', False),
|
|
49
|
+
verbose=getattr(args, 'verbose', 0),
|
|
50
|
+
dry_run=getattr(args, 'dry_run', False),
|
|
51
|
+
config_level_override=getattr(args, 'config_level', None),
|
|
52
|
+
config_path_override=getattr(args, 'config', None)
|
|
53
|
+
)
|
|
53
54
|
elif serve_action == 'uninstall':
|
|
54
|
-
#
|
|
55
|
-
return
|
|
55
|
+
# Call uninstall_service directly (no deprecation warning)
|
|
56
|
+
return uninstall_service(purge=getattr(args, 'purge', False))
|
|
56
57
|
else:
|
|
57
58
|
# Start server
|
|
58
59
|
return start_server(args)
|
|
@@ -30,6 +30,9 @@ E_EXISTS = 1
|
|
|
30
30
|
def cmd_install(args: argparse.Namespace) -> int:
|
|
31
31
|
"""Install systemd service (deprecated, use 'serve install' instead)
|
|
32
32
|
|
|
33
|
+
This is a wrapper that shows a deprecation warning before calling
|
|
34
|
+
the actual install_service function.
|
|
35
|
+
|
|
33
36
|
Args:
|
|
34
37
|
args: Parsed command-line arguments
|
|
35
38
|
- force: Force overwrite existing service
|
|
@@ -41,67 +44,15 @@ def cmd_install(args: argparse.Namespace) -> int:
|
|
|
41
44
|
Returns:
|
|
42
45
|
Exit code (0 = success, 1 = error)
|
|
43
46
|
"""
|
|
44
|
-
# Show deprecation warning
|
|
47
|
+
# Show deprecation warning only when called directly via service command
|
|
45
48
|
print('Warning: "service install" is deprecated. Use "serve install" instead.', file=sys.stderr)
|
|
46
49
|
print()
|
|
47
|
-
# Get verbose and dry_run from args
|
|
48
|
-
verbose = getattr(args, 'verbose', 0)
|
|
49
|
-
dry_run = getattr(args, 'dry_run', False)
|
|
50
|
-
|
|
51
|
-
# Get config path from global -c argument (backward compatibility)
|
|
52
|
-
config_path = getattr(args, 'config', None)
|
|
53
|
-
config_level = getattr(args, 'config_level', None)
|
|
54
|
-
|
|
55
|
-
# Check for conflicting options
|
|
56
|
-
if config_path and config_level:
|
|
57
|
-
print('Error: Conflicting options: --config-level and -c cannot be used together.', file=sys.stderr)
|
|
58
|
-
print()
|
|
59
|
-
print('Please use either:', file=sys.stderr)
|
|
60
|
-
print(' - gitwebhooks-cli service install --config-level <level>', file=sys.stderr)
|
|
61
|
-
print(' - gitwebhooks-cli service install -c <config-file>', file=sys.stderr)
|
|
62
|
-
return 1
|
|
63
|
-
|
|
64
|
-
# For dry-run mode, skip root check
|
|
65
|
-
if not dry_run:
|
|
66
|
-
# Check root permission
|
|
67
|
-
if not check_root_permission():
|
|
68
|
-
print('Error: This operation requires root privileges', file=sys.stderr)
|
|
69
|
-
print('Please use: sudo gitwebhooks-cli service install', file=sys.stderr)
|
|
70
|
-
return E_PERM
|
|
71
|
-
|
|
72
|
-
# Check systemd availability
|
|
73
|
-
if not check_systemd():
|
|
74
|
-
print('Error: systemd is not supported on this system', file=sys.stderr)
|
|
75
|
-
return E_SYSTEMD
|
|
76
|
-
|
|
77
|
-
# Check if service already exists
|
|
78
|
-
service_path = get_service_path()
|
|
79
|
-
if service_path.exists():
|
|
80
|
-
if not args.force:
|
|
81
|
-
print(f'Error: Service already installed', file=sys.stderr)
|
|
82
|
-
print(f'Service file: {service_path}', file=sys.stderr)
|
|
83
|
-
print('Use --force to force overwrite', file=sys.stderr)
|
|
84
|
-
return E_EXISTS
|
|
85
|
-
|
|
86
|
-
# Confirm overwrite
|
|
87
|
-
if not confirm_overwrite():
|
|
88
|
-
print('Installation cancelled')
|
|
89
|
-
return 0
|
|
90
|
-
else:
|
|
91
|
-
# In dry-run mode, warn if service exists but continue
|
|
92
|
-
service_path = get_service_path()
|
|
93
|
-
if service_path.exists() and not args.force:
|
|
94
|
-
print(f'Notice: Service already exists at {service_path}', file=sys.stderr)
|
|
95
|
-
print('Previewing service file content (use --force to suppress this notice)...', file=sys.stderr)
|
|
96
|
-
print()
|
|
97
|
-
|
|
98
|
-
# Perform installation
|
|
99
50
|
return install_service(
|
|
100
|
-
force=args
|
|
101
|
-
verbose=verbose,
|
|
102
|
-
dry_run=dry_run,
|
|
103
|
-
config_level_override=config_level,
|
|
104
|
-
config_path_override=
|
|
51
|
+
force=getattr(args, 'force', False),
|
|
52
|
+
verbose=getattr(args, 'verbose', 0),
|
|
53
|
+
dry_run=getattr(args, 'dry_run', False),
|
|
54
|
+
config_level_override=getattr(args, 'config_level', None),
|
|
55
|
+
config_path_override=getattr(args, 'config', None)
|
|
105
56
|
)
|
|
106
57
|
|
|
107
58
|
|
|
@@ -313,6 +264,9 @@ def enable_and_start_service() -> int:
|
|
|
313
264
|
def cmd_uninstall(args: argparse.Namespace) -> int:
|
|
314
265
|
"""Uninstall systemd service (deprecated, use 'serve uninstall' instead)
|
|
315
266
|
|
|
267
|
+
This is a wrapper that shows a deprecation warning before calling
|
|
268
|
+
the actual uninstall_service function.
|
|
269
|
+
|
|
316
270
|
Args:
|
|
317
271
|
args: Parsed command-line arguments
|
|
318
272
|
- purge: Also remove configuration file
|
|
@@ -320,22 +274,10 @@ def cmd_uninstall(args: argparse.Namespace) -> int:
|
|
|
320
274
|
Returns:
|
|
321
275
|
Exit code (0 = success, 1 = error)
|
|
322
276
|
"""
|
|
323
|
-
# Show deprecation warning
|
|
277
|
+
# Show deprecation warning only when called directly via service command
|
|
324
278
|
print('Warning: "service uninstall" is deprecated. Use "serve uninstall" instead.', file=sys.stderr)
|
|
325
279
|
print()
|
|
326
|
-
|
|
327
|
-
if not check_root_permission():
|
|
328
|
-
print('Error: This operation requires root privileges', file=sys.stderr)
|
|
329
|
-
print('Please use: sudo gitwebhooks-cli service uninstall', file=sys.stderr)
|
|
330
|
-
return E_PERM
|
|
331
|
-
|
|
332
|
-
# Check if service is installed
|
|
333
|
-
if not check_service_exists():
|
|
334
|
-
print('Error: Service not installed', file=sys.stderr)
|
|
335
|
-
return 1
|
|
336
|
-
|
|
337
|
-
# Perform uninstallation
|
|
338
|
-
return uninstall_service(args.purge)
|
|
280
|
+
return uninstall_service(purge=getattr(args, 'purge', False))
|
|
339
281
|
|
|
340
282
|
|
|
341
283
|
def uninstall_service(purge: bool = False) -> int:
|
|
@@ -347,6 +289,17 @@ def uninstall_service(purge: bool = False) -> int:
|
|
|
347
289
|
Returns:
|
|
348
290
|
Exit code (0 = success, 1 = error)
|
|
349
291
|
"""
|
|
292
|
+
# Check root permission
|
|
293
|
+
if not check_root_permission():
|
|
294
|
+
print('Error: This operation requires root privileges', file=sys.stderr)
|
|
295
|
+
print('Please use: sudo gitwebhooks-cli serve uninstall', file=sys.stderr)
|
|
296
|
+
return E_PERM
|
|
297
|
+
|
|
298
|
+
# Check if service is installed
|
|
299
|
+
if not check_service_exists():
|
|
300
|
+
print('Error: Service not installed', file=sys.stderr)
|
|
301
|
+
return 1
|
|
302
|
+
|
|
350
303
|
print('Uninstalling systemd service...')
|
|
351
304
|
|
|
352
305
|
# Stop and disable service
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitwebhooks
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.1
|
|
4
4
|
Summary: A lightweight Git webhook server for automated deployment supporting GitHub, Gitee, GitLab, and custom webhooks
|
|
5
5
|
Author-email: Troy Tse <troy@holyhi.net>
|
|
6
6
|
Maintainer-email: Troy Tse <troy@holyhi.net>
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "gitwebhooks"
|
|
7
|
-
version = "2.3.
|
|
7
|
+
version = "2.3.1"
|
|
8
8
|
description = "A lightweight Git webhook server for automated deployment supporting GitHub, Gitee, GitLab, and custom webhooks"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|