You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A Python port of the popular [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub Action. Automatically creates pull requests for changes made during workflow execution.
9
8
10
9
## Features
11
10
12
-
-🐍 **Pure Python** - Easy to understand and contribute to
13
-
-🔄 **Feature Parity** - All 30+ inputs and 4 outputs from original action
14
-
-🐳 **Docker-based** - Consistent environment across all runners
15
-
-🧪 **Well Tested** - Comprehensive unit and integration test coverage
16
-
-📦 **PyGithub** - Robust GitHub API integration with retry logic
17
-
-🔧 **Robust** - Handles rebasing, cherry-picking, and conflict resolution
11
+
-**Pure Python** - Easy to understand and contribute to
12
+
-**Feature Parity** - All 23 inputs and 6 outputs from the original action
13
+
-**Docker-based** - Consistent environment across all runners
14
+
-**Well Tested** - Comprehensive unit and integration test coverage
15
+
-**PyGithub** - Robust GitHub API integration with retry logic
16
+
-**Robust** - Handles rebasing, cherry-picking, and conflict resolution
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
360
-
361
354
## Migration from TypeScript Version
362
355
363
356
The Python port is a **drop-in replacement** - simply change the action reference:
@@ -367,11 +360,41 @@ The Python port is a **drop-in replacement** - simply change the action referenc
367
360
- uses: peter-evans/create-pull-request@v6
368
361
369
362
# After (Python)
370
-
- uses: your-org/create-pull-request-python@v1
363
+
- uses: dikshant-devops/create-pull-request@v1
371
364
```
372
365
373
366
All inputs and outputs are identical. No workflow changes required!
374
367
368
+
## Publishing to GitHub Marketplace
369
+
370
+
This action is ready for the [GitHub Actions Marketplace](https://github.com/marketplace?type=actions). The `action.yml` already includes the required `branding` configuration.
371
+
372
+
### Prerequisites
373
+
374
+
- The repository must be **public**
375
+
- Enable **two-factor authentication** on your GitHub account
376
+
- Accept the [GitHub Marketplace Developer Agreement](https://docs.github.com/en/apps/github-marketplace/github-marketplace-overview/about-github-marketplace)
377
+
378
+
### Steps to Publish
379
+
380
+
1. Go to the repository on GitHub
381
+
2. Click **Releases** > **Draft a new release**
382
+
3. Check the **Publish this Action to the GitHub Marketplace** checkbox
383
+
4. GitHub will validate your `action.yml` -- fix any reported errors
384
+
5. Choose a tag (e.g., `v1.0.0`) and create the release
385
+
6. Once published, the action will appear at `https://github.com/marketplace/actions/create-pull-request-python`
386
+
387
+
### Marketplace Metadata (from action.yml)
388
+
389
+
| Field | Value |
390
+
|-------|-------|
391
+
| Name | `Create Pull Request (Python)` |
392
+
| Icon | `git-pull-request` |
393
+
| Color | `blue` |
394
+
| Author | `Create Pull Request Action` |
395
+
396
+
After publishing, users can find and use your action directly from the marketplace.
397
+
375
398
## License
376
399
377
400
[MIT](LICENSE)
@@ -382,10 +405,5 @@ This is a Python port of the excellent [create-pull-request](https://github.com/
0 commit comments