{"id":15749896,"url":"https://github.com/thaddeusjiang/gitlab_cli","last_synced_at":"2025-05-07T06:28:39.963Z","repository":{"id":223294608,"uuid":"759782217","full_name":"ThaddeusJiang/gitlab_cli","owner":"ThaddeusJiang","description":"GitLab's unofficial command line tool","archived":false,"fork":false,"pushed_at":"2024-02-19T12:53:45.000Z","size":135,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-01T15:18:58.785Z","etag":null,"topics":["cli","elixir","gitlab"],"latest_commit_sha":null,"homepage":"https://hexdocs.pm/gitlab_cli/","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ThaddeusJiang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-02-19T10:23:15.000Z","updated_at":"2025-02-28T02:58:05.000Z","dependencies_parsed_at":"2024-02-19T14:16:27.051Z","dependency_job_id":null,"html_url":"https://github.com/ThaddeusJiang/gitlab_cli","commit_stats":null,"previous_names":["thaddeusjiang/gitlab_cli"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThaddeusJiang%2Fgitlab_cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThaddeusJiang%2Fgitlab_cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThaddeusJiang%2Fgitlab_cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThaddeusJiang%2Fgitlab_cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThaddeusJiang","download_url":"https://codeload.github.com/ThaddeusJiang/gitlab_cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252826342,"owners_count":21810099,"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":["cli","elixir","gitlab"],"created_at":"2024-10-04T06:21:04.180Z","updated_at":"2025-05-07T06:28:39.935Z","avatar_url":"https://github.com/ThaddeusJiang.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitLab CLI\n\nGitLab's unofficial command line tool\n\n[![Hex.pm version](https://img.shields.io/hexpm/v/gitlab_cli.svg)](https://hex.pm/packages/gitlab_cli)\n\n## Demo\n\n- source repository: [https://gitlab.com/ThaddeusJiang/gitlab_cli](https://gitlab.com/ThaddeusJiang/gitlab_cli)\n- target repository: [https://gitlab.com/ThaddeusJiang/gitlab_cli_deploy](https://gitlab.com/ThaddeusJiang/gitlab_cli_deploy)\n\n## Usage\n\nUsed in `gitlab-ci.yml`:\n\n```yaml\nrun:\n  image: elixir:latest\n  script:\n    - mix local.hex --force\n    - mix local.rebar --force\n    - mix escript.install hex gitlab_cli --force\n    - export PATH=$PATH:/root/.mix/escripts\n    - gitlab_cli --project-id 54958131 \\\n      --source-branch \"deploy-main\" --target-branch \"main\" \\\n      --file-path \"src/dev.yml\" --pattern \"charge-backend:.*\" --content \"charge-backend:${CI_COMMIT_SHA}\"\n```\n\nEnvironment variables\n\n- `GITLAB_PRIVATE_TOKEN` - The GitLab private token. (required)\n\nParameters\n\n- `--project-id` - The GitLab project id. (required)\n- `--source-branch` - The source branch. (required)\n- `--target-branch` - The target branch. (required)\n- `--file-path` - The file path. (required)\n- `--pattern` - The pattern to search for. (required) syntax: `prefix:.*`\n- `--content` - The content to replace with. (required) syntax: `prefix:new-value`\n\n## Development\n\n```bash\nmix deps.get\n\niex -S mix\n```\n\n### Test\n\n```bash\nmix test\n```\n\n### Build\n\n```bash\nmix escript.build\n```\n\n### Publish\n\n```bash\nmix test\nmix docs\n\nmix hex.publish\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthaddeusjiang%2Fgitlab_cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthaddeusjiang%2Fgitlab_cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthaddeusjiang%2Fgitlab_cli/lists"}