This project automates the process of creating tasks on GitHub Projects using Selenium. It reads predefined tasks from a data file and uses Selenium to log in to GitHub and add these tasks to a specified project.
- Project Structure
- Setup
- Usage
- Important Files and Directories
- Features
- Technologies Used
- Contributing
- License
- Contact
[project-root]/
├── .gitignore
├── README.md
├── README-ptbr.md
├── config.py
├── main.py
├── requirements.txt
├── driver/
│ ├── chromedriver
│ └── chromedriver.exe
├── services/
│ ├── selenium_service.py
│ └── __init__.py
├── data/
│ ├── cards.py
│ └── __init__.py
-
Clone the repository:
git clone https://github.com/ThiagoSchumann/web-crawler-github-tasks cd web-crawler-github-tasks
-
Install the required packages:
pip install -r requirements.txt
-
Download WebDriver:
Download the appropriate WebDriver for your browser and operating system, and place it in the
driver/
directory. Update the path inconfig.py
if necessary.
-
Create a
.env
file:Create a
.env
file in the root directory with your necessary environment variables:EMAIL=your_github_email PASSWORD=your_github_password
-
Update
config.py
:Ensure
config.py
has the correct paths and URLs:from decouple import config EMAIL = config("EMAIL") PASSWORD = config("PASSWORD") DRIVER_PATH = "driver/chromedriver.exe" # Adjust this path if using a different OS GITHUB_LOGIN_URL = "https://github.com/login" PROJECT_URL = "https://github.com/users/ThiagoSchumann/projects/10"
-
Run the main script:
python main.py
-
Automated Tasks:
The script will log in to GitHub, navigate to the specified project, and add tasks defined in
data/cards.py
.
- main.py: The main script that runs the Selenium automation.
- config.py: Loads environment variables and configuration settings.
- services/selenium_service.py: Contains the Selenium logic for interacting with GitHub.
- data/cards.py: Contains the card data to be used in the project.
- Automated Login: Logs in to GitHub using provided credentials.
- Task Addition: Adds predefined tasks to a specified GitHub project.
- Backend: Python, Selenium
- Configuration Management: Python-Decouple
Contributions are welcome! Please open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For support or feedback, please contact [email protected].