Skip to content

Commit 9e5492c

Browse files
committed
changes to PR 1.0
1 parent 130cd0d commit 9e5492c

File tree

2 files changed

+240
-77
lines changed

2 files changed

+240
-77
lines changed

README.md

+32-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# GitHub Automator
1+
# GitHub Testing Automation
22

3-
GitHub Automator is a Python-based tool designed to automate various GitHub operations for easy GitHub Testing, such as creating and initializing repositories, committing and pushing changes, creating branches, creating and merging pull requests, generating conflicts and resolving it, comments on the pull requests, deleting repositories, testing important git commands and more. It is particularly useful for Testing Staging GitHub operations.
3+
GitHub Testing Automation is a Python-based tool designed to automate various GitHub operations for easy GitHub Testing, such as creating and initializing repositories, committing and pushing changes, creating branches, creating and merging pull requests, generating conflicts and resolving it, comments on the pull requests, deleting repositories, testing important git commands and more. It is particularly useful for Testing Staging GitHub operations.
44

55
## Features
66

@@ -17,7 +17,7 @@ GitHub Automator is a Python-based tool designed to automate various GitHub oper
1717

1818
## Logging
1919

20-
GitHub Automator utilizes Python's logging module to log informational messages and error messages. The logging mechanism is configured to output log messages to two separate files:
20+
GitHub Testing Automation utilizes Python's logging module to log informational messages and error messages. The logging mechanism is configured to output log messages to two separate files:
2121

2222
- `info.log`: This file contains informational messages about the operations performed by the tool, such as successful creation of repositories, successful push of commits, etc.
2323
- `error.log`: This file contains error messages that provide information about any errors or exceptions encountered during the execution of the tool.
@@ -29,12 +29,38 @@ The log messages are formatted to include the timestamp, log level (INFO or ERRO
2929

3030
## Prerequisites
3131

32-
- Python 3.x (Used: 3.11)
32+
- Python 3.x [![Python 3.11](https://img.shields.io/badge/python-3.11-blue.svg)](https://www.python.org/downloads/release/python-3110/)
3333
- GitHub Account
34-
- Access Token with the necessary permissions
34+
- Access Token with the necessary permissions (see section: GitHub Token Permissions)
3535
- `git` and `github` Python packages
3636
- YAML configuration file with necessary credentials
3737

38+
## GitHub Token Permissions
39+
40+
The Python script to run successfully, you need to generate a GitHub token with the following scopes:
41+
42+
### Required Scopes
43+
- `repo`: Full control of private repositories.
44+
- Allows creating repositories, committing, pushing, and performing other repository-related operations.
45+
- `user`: User-related permissions.
46+
- Allows the script to get user-related information.
47+
- `delete_repo`: Allows deleting repositories.
48+
- Used to delete repositories with 'automated' in their name.
49+
- `pull_request`: Pull request-related permissions.
50+
- Allows creating, merging, and commenting on pull requests.
51+
52+
### Creating a Token
53+
1. Go to your GitHub settings.
54+
2. Navigate to "Developer settings".
55+
3. Go to "Personal access tokens".
56+
4. Click "Generate new token".
57+
5. Select the scopes you need for your script.
58+
6. Click "Generate token".
59+
60+
### Note for Token
61+
- Be cautious with the token, as it provides access to your GitHub account. Never share it or push it to public repositories.
62+
- Always follow the principle of least privilege, granting only the permissions that are absolutely necessary.
63+
3864
## Setup
3965

4066
1. Clone or download the project repository to your local machine.
@@ -48,7 +74,7 @@ pip install -r requirements.txt
4874

4975
## Configuration
5076

51-
The `configuration.yaml` file contains important parameters for the GitHub Automator. It should have the following structure:
77+
The `configuration.yaml` file contains important parameters for the GitHub Testing Automation. It should have the following structure:
5278

5379
```yaml
5480
credentials:

0 commit comments

Comments
 (0)