{"id":13532514,"url":"https://github.com/x-motemen/git-pr-release","last_synced_at":"2025-05-14T23:07:31.781Z","repository":{"id":12794401,"uuid":"15468156","full_name":"x-motemen/git-pr-release","owner":"x-motemen","description":"Release pull request generator","archived":false,"fork":false,"pushed_at":"2025-01-12T17:31:27.000Z","size":191,"stargazers_count":702,"open_issues_count":15,"forks_count":75,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-13T19:50:05.739Z","etag":null,"topics":["git","github","pull-requests","ruby","workflow"],"latest_commit_sha":null,"homepage":"https://rubygems.org/gems/git-pr-release","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/x-motemen.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2013-12-27T06:35:52.000Z","updated_at":"2025-04-10T02:04:07.000Z","dependencies_parsed_at":"2025-04-13T19:37:32.000Z","dependency_job_id":"dcf2937e-9ab3-451f-ba50-b88301572637","html_url":"https://github.com/x-motemen/git-pr-release","commit_stats":{"total_commits":180,"total_committers":28,"mean_commits":6.428571428571429,"dds":0.5944444444444444,"last_synced_commit":"29c2d49aead8d6d986317b53258fa5c61e9c05a2"},"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x-motemen%2Fgit-pr-release","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x-motemen%2Fgit-pr-release/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x-motemen%2Fgit-pr-release/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x-motemen%2Fgit-pr-release/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/x-motemen","download_url":"https://codeload.github.com/x-motemen/git-pr-release/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254243362,"owners_count":22038046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","github","pull-requests","ruby","workflow"],"created_at":"2024-08-01T07:01:11.536Z","updated_at":"2025-05-14T23:07:26.771Z","avatar_url":"https://github.com/x-motemen.png","language":"Ruby","funding_links":[],"categories":["Ruby","Awesome Ruby CLIs"],"sub_categories":["Automation"],"readme":"# git-pr-release \u003ca href=\"http://badge.fury.io/rb/git-pr-release\"\u003e\u003cimg src=\"https://badge.fury.io/rb/git-pr-release@2x.png\" alt=\"Gem Version\" height=\"18\"\u003e\u003c/a\u003e\n\nCreates a \"release pull request\", whose body consists of features list or\npull requests that are to be released into production. It's especially useful for QA and\npre-release checks. `git-pr-release` automatically collect pull requests\nmerged into master branch and generates the content of the release\npull request.\n\n![Screenshot](https://cloud.githubusercontent.com/assets/113420/3147184/61bf2eec-ea53-11e3-835b-50d63ed11b39.png)\n\nSuitable for branching strategy like below (similar to git-flow):\n\n- Feature branches are first merged into \"staging\" (or release, development)\n  branch.\n- Then the staging branch is merged into \"production\" branch, which is for\n  production release.\n\n## Usage\n\n`git-pr-release`: default\n\n`git-pr-release --squashed`: include PRs containing squashed commits.\n\n`git-pr-release --overwrite-description`: generate a fresh PR description.\n\n`git-pr-release -n` | `git-pr-release --dry-run`: perform a dry run; does not update PR.\n\n`git-pr-release --no-fetch`: Do not fetch from remote repo before determining target PRs (CI friendly).\n\n`git-pr-release --json`: Show data of target PRs in JSON format.\n\n## Configuration\n\nAll configuration are taken using `git config`. You can write these variables\nin file `.git-pr-release` (instead of `.git/config` or `~/.gitconfig`) to share project-wise configuration to other\ncollaborators.\n\n### `pr-release.token`\n\nToken for GitHub API.\n\nIf not set, you will be asked to input username/password for one time only,\nand this configuration variable will be stored.\n\nYou can specify this value by `GIT_PR_RELEASE_TOKEN` environment variable.\n\n### `pr-release.branch.production`\n\nThe branch name that is deployed in production environment.\n\nYou can specify this value by `GIT_PR_RELEASE_BRANCH_PRODUCTION` environment variable.\n\nDefault value: `master`.\n\n### `pr-release.branch.staging`\n\nThe branch name that the feature branches are merged into and is going to be\nmerged into the \"production\" branch.\n\nYou can specify this value by `GIT_PR_RELEASE_BRANCH_STAGING` environment variable.\n\nDefault value: `staging`.\n\n### `pr-release.template`\n\nThe template file path (relative to the workidir top) for pull requests\ncreated. Its first line is used for the PR title, the rest for the body. This\nis an ERB template.\n\nYou can specify this value by `GIT_PR_RELEASE_TEMPLATE` environment variable.\n\nIf not specified, the content below is used as the template (embedded in the code):\n\n```erb\nRelease \u003c%= Time.now %\u003e\n\u003c% pull_requests.each do |pr| -%\u003e\n\u003c%=  pr.to_checklist_item %\u003e\n\u003c% end -%\u003e\n```\n\n### `pr-release.labels`\n\nThe labels list for adding to pull requests created.\nThis value should be comma-separated strings.\n\nYou can specify this value by `GIT_PR_RELEASE_LABELS` environment variable.\n\nIf not specified, any labels will not be added for PRs.\n\n### `pr-release.mention`\n\nThe name that is listed next to each PR title.\nAccepted values: `author`\n\nYou can specify this value by `GIT_PR_RELEASE_MENTION` environment variable.\n\nIf not specified, the mention will be the PR assignee\n\n### `pr-release.ssl-no-verify`\n\nWhether to verify SSL certificate or not.\nAccepted values: `true` | `false`\n\nThis option might be useful when self-hosted GitHub enterprise server is using self-signed certificate.\n\nYou can specify this value by `GIT_PR_RELEASE_SSL_NO_VERIFY` to `1`.\n\nIf not specified, verify SSL certificate always.\n\n## Errors and exit statuses\n\n### No pull requests to be released\n\nexit status is 1.\n\n## Author\n\nmotemen \u003cmotemen@gmail.com\u003e, original in-house version written by @hitode909.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fx-motemen%2Fgit-pr-release","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fx-motemen%2Fgit-pr-release","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fx-motemen%2Fgit-pr-release/lists"}