{"id":21820615,"url":"https://github.com/sue445/gitlab_mr_release","last_synced_at":"2025-04-14T03:01:25.076Z","repository":{"id":2297391,"uuid":"46062257","full_name":"sue445/gitlab_mr_release","owner":"sue445","description":"Release MergeRequest generator for GitLab","archived":false,"fork":false,"pushed_at":"2025-01-17T13:20:55.000Z","size":220,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-09T01:52:27.340Z","etag":null,"topics":["gem","gitlab","mergerequest","release"],"latest_commit_sha":null,"homepage":"https://sue445.github.io/gitlab_mr_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/sue445.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2015-11-12T15:32:53.000Z","updated_at":"2025-01-17T13:20:56.000Z","dependencies_parsed_at":"2023-02-12T19:45:28.649Z","dependency_job_id":"f6a0779a-b191-4ddd-9d46-144c4840af75","html_url":"https://github.com/sue445/gitlab_mr_release","commit_stats":{"total_commits":147,"total_committers":4,"mean_commits":36.75,"dds":"0.16326530612244894","last_synced_commit":"95870eed2aa66115d179760e38878ed327845130"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sue445%2Fgitlab_mr_release","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sue445%2Fgitlab_mr_release/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sue445%2Fgitlab_mr_release/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sue445%2Fgitlab_mr_release/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sue445","download_url":"https://codeload.github.com/sue445/gitlab_mr_release/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248813789,"owners_count":21165633,"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":["gem","gitlab","mergerequest","release"],"created_at":"2024-11-27T16:38:00.173Z","updated_at":"2025-04-14T03:01:25.055Z","avatar_url":"https://github.com/sue445.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitlabMrRelease\n\nRelease MergeRequest generator for [GitLab](https://about.gitlab.com/)\n\n[![Gem Version](https://badge.fury.io/rb/gitlab_mr_release.svg)](https://badge.fury.io/rb/gitlab_mr_release)\n[![test](https://github.com/sue445/gitlab_mr_release/actions/workflows/test.yml/badge.svg)](https://github.com/sue445/gitlab_mr_release/actions/workflows/test.yml)\n[![Code Climate](https://codeclimate.com/github/sue445/gitlab_mr_release/badges/gpa.svg)](https://codeclimate.com/github/sue445/gitlab_mr_release)\n[![Coverage Status](https://coveralls.io/repos/sue445/gitlab_mr_release/badge.svg?branch=master\u0026service=github)](https://coveralls.io/github/sue445/gitlab_mr_release?branch=master)\n\nThis is inspired by the [git-pr-release](https://github.com/motemen/git-pr-release)\n\n## Requirements\n\n* Ruby v2.6+\n* GitLab v8.17.0+\n* GitLab API v4+\n\n## Installation\n\n```\n$ gem install gitlab_mr_release\n```\n\n## Usage\n### init\n\nCopy setting files. And edit these files.\n\n```sh\n$ gitlab_mr_release init\n      create  .env.gitlab\n      create  gitlab_mr_release.md.erb\n```\n\nsee [lib/templates/](lib/templates/)\n\n### create\n```sh\n$ gitlab_mr_release create --source=develop --target=master --labels=release\nMergeRequest is created\n\n[Title] Release develop -\u003e master\n\n[Description]\n# MergeRequests\n\n* [ ] !7 Add fresh @sue445\n\n[Url] http://example.com/your/project/merge_requests/15\n```\n\ndescription is accepted MergeRequests title between `--source` and `--target`\n\n![merge_request](img/merge_request.png)\n\n#### detail\n\n```sh\n$ gitlab_mr_release help create\nUsage:\n  gitlab_mr_release create\n\nOptions:\n  -s, [--source=SOURCE]  # Source branch (e.g. develop)\n  -t, [--target=TARGET]  # Target branch (e.g. master)\n      [--title=TITLE]    # MergeRequest title (default. 'Release :timestamp :source -\u003e :target')\n  -l, [--labels=LABELS]  # Labels for MR as a comma-separated list  (e.g. 'label1,label2')\n\nCreate merge requrst\n```\n\n#### options\nSome options can be specified in both the command arguments and environment variables\n\n* `--source` , `DEFAULT_SOURCE_BRANCH` **(either one is required)**\n  * Source branch (e.g. `develop`)\n* `--target` , `DEFAULT_TARGET_BRANCH` **(either one is required)**\n  * Target branch (e.g. `master`)\n* `--title`\n  * MergeRequest title (default. 'Release :timestamp :source -\u003e :target')\n* `--labels` , `DEFAULT_LABELS`\n  * Labels for MR as a comma-separated list (e.g. `label1,label2`, default. no labels)\n\n## ProTip\n### .env.gitlab\nEnvironment variables read from `~/.env.gitlab` and current `.env.gitlab`\n\n`~/.env.gitlab` \n\n```\nGITLAB_API_ENDPOINT=http://example.com/api/v4\nGITLAB_API_PRIVATE_TOKEN=XXXXXXXXXXXXXXXXXXX\nTEMPLATE_FILE=gitlab_mr_release.md.erb\nDEFAULT_TITLE=Release \u003c%= Time.now %\u003e \u003c%= source_branch %\u003e -\u003e \u003c%= target_branch %\u003e\n```\n\ncurrent `.env.gitlab`\n\n```\nGITLAB_PROJECT_NAME=group/name\nTEMPLATE_FILE=gitlab_mr_release.md.erb\nDEFAULT_SOURCE_BRANCH=develop\nDEFAULT_TARGET_BRANCH=master\nDEFAULT_LABELS=release\n```\n\nIf defined both `~/.env.gitlab` and current `.env.gitlab`, current `.env.gitlab` is priority\n\n### variables in template\n```markdown\n# MergeRequests\n\u003c% merge_requests.each do |mr| -%\u003e\n* [ ] !\u003c%= mr.iid %\u003e \u003c%= mr.title %\u003e @\u003c%= mr.author.username %\u003e\n\u003c% end -%\u003e\n```\n\n`merge_requests` is array of [MergeRequest](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/merge_requests.md#get-single-mr)\n\n### variables in DEFAULT_TITLE\n```sh\nDEFAULT_TITLE=Release \u003c%= Time.now %\u003e \u003c%= source_branch %\u003e -\u003e \u003c%= target_branch %\u003e\n```\n\n`DEFAULT_TITLE` supports erb.\n\n* `source_branch` is `--source` or `DEFAULT_SOURCE_BRANCH`\n* `target_branch` is `--target` in `DEFAULT_TARGET_BRANCH`\n\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. Run `bundle exec gitlab_mr_release` to use the gem in this directory, ignoring other installed copies of this gem.\n\nTo install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/sue445/gitlab_mr_release.\n\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsue445%2Fgitlab_mr_release","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsue445%2Fgitlab_mr_release","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsue445%2Fgitlab_mr_release/lists"}