{"id":17040975,"url":"https://github.com/uggla/gitlab-push-and-mr","last_synced_at":"2026-01-19T04:32:58.523Z","repository":{"id":37973459,"uuid":"228934901","full_name":"uggla/gitlab-push-and-mr","owner":"uggla","description":"Rust CLI tool to push the current commits and create an MR in Gitlab","archived":false,"fork":false,"pushed_at":"2023-03-06T10:58:41.000Z","size":94,"stargazers_count":2,"open_issues_count":6,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-10T19:22:54.979Z","etag":null,"topics":["async","gitlab","rust"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uggla.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2019-12-18T22:55:23.000Z","updated_at":"2022-01-03T21:21:09.000Z","dependencies_parsed_at":"2024-10-14T09:11:07.879Z","dependency_job_id":"7dd4f022-1168-4af5-81f8-9603814f9792","html_url":"https://github.com/uggla/gitlab-push-and-mr","commit_stats":{"total_commits":55,"total_committers":4,"mean_commits":13.75,"dds":0.4545454545454546,"last_synced_commit":"2cb83104c1a0a41175b57cff8fc5c6e62a194366"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/uggla/gitlab-push-and-mr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uggla%2Fgitlab-push-and-mr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uggla%2Fgitlab-push-and-mr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uggla%2Fgitlab-push-and-mr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uggla%2Fgitlab-push-and-mr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uggla","download_url":"https://codeload.github.com/uggla/gitlab-push-and-mr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uggla%2Fgitlab-push-and-mr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28561841,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T03:31:16.861Z","status":"ssl_error","status_checked_at":"2026-01-19T03:31:15.069Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["async","gitlab","rust"],"created_at":"2024-10-14T09:11:01.131Z","updated_at":"2026-01-19T04:32:58.509Z","avatar_url":"https://github.com/uggla.png","language":"Rust","readme":"# gitlab-push-and-mr\n\n[![gitlab-push-and-mr](https://github.com/uggla/gitlab-push-and-mr/actions/workflows/gitlab-push-and-mr.yml/badge.svg)](https://github.com/uggla/gitlab-push-and-mr/actions/workflows/gitlab-push-and-mr.yml)\n\nPush and create an MR automatically using gitlab API and GIT.\n\nYou need a Gitlab account and a project there, plus an API key.\n\n## Version\n\nThis project is a fork of https://github.com/zupzup/gitlab-push-and-mr customized to my needs.\n\nHere is the article related to the above project: https://www.zupzup.org/async-awaitify-rust-cli\n\nChanges compared to original code:\n* All parameters are specified in a toml configuration file (describe below).\n* Push phase authentication can be done using either user and password or ssh keys.\n* Merge request can be assign to someone as an option.\n* Update dependencies to the latest available stable revision\n\n## Run\n\nAll parameters must be configured into $HOME/.glpm/config.toml file:\n```toml\nuser = \"user_name\"\npassword = \"user_password\"\nssh_key_file = \"/home/user_name/.ssh/id_rsa\"\nssh_passphrase = \"user_passphrase\"\napikey=\"gitlab_api_key\"\nmr_labels = [\"DevOps\"]\nhost = \"http://gitlab.example.com\"\n```\n\nIf password key is defined, user and password will be used to perform the authentication. Otherwise, it will use ssh_key_file and ssh_passphrase configuration keys.\n\n## Usage examples\nExecute:\n```bash\n// run tool\ncargo run -- -d \"Some Description\" -t \"Some Title\"\n```\n\n```bash\ngitlab-push-and-mr -t \"Some title\" -a username -b main\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuggla%2Fgitlab-push-and-mr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuggla%2Fgitlab-push-and-mr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuggla%2Fgitlab-push-and-mr/lists"}