{"id":16941183,"url":"https://github.com/sikebe/gitbucket-utility","last_synced_at":"2025-04-05T14:43:01.197Z","repository":{"id":39897832,"uuid":"135164858","full_name":"SIkebe/gitbucket-utility","owner":"SIkebe","description":"Opinionated CLI tool for GitBucket implemented by .NET","archived":false,"fork":false,"pushed_at":"2024-04-13T13:28:56.000Z","size":870,"stargazers_count":0,"open_issues_count":13,"forks_count":1,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2024-04-14T04:04:57.362Z","etag":null,"topics":["command-line-tool","gitbucket"],"latest_commit_sha":null,"homepage":"","language":"C#","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/SIkebe.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2018-05-28T13:30:02.000Z","updated_at":"2024-04-16T00:33:25.336Z","dependencies_parsed_at":"2023-02-12T23:45:49.541Z","dependency_job_id":"e4489457-347f-4411-a917-8e781b339df1","html_url":"https://github.com/SIkebe/gitbucket-utility","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SIkebe%2Fgitbucket-utility","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SIkebe%2Fgitbucket-utility/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SIkebe%2Fgitbucket-utility/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SIkebe%2Fgitbucket-utility/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SIkebe","download_url":"https://codeload.github.com/SIkebe/gitbucket-utility/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247353675,"owners_count":20925325,"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":["command-line-tool","gitbucket"],"created_at":"2024-10-13T21:08:54.703Z","updated_at":"2025-04-05T14:43:01.176Z","avatar_url":"https://github.com/SIkebe.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gitbucket-utility\nUtilities for GitBucket  \n[![Build status](https://github.com/SIkebe/gitbucket-utility/workflows/CI/badge.svg)](https://github.com/SIkebe/gitbucket-utility/actions?query=workflow%3A%22CI%22)\n[![NuGet version](https://badge.fury.io/nu/gbutil.svg)](https://badge.fury.io/nu/gbutil)\n\n## Requirements\n* [.NET 8.X SDK](https://www.microsoft.com/net/download/windows) ※Required only if you use dotnet tool version.\n* GitBucket 4.38.X+ (using PostgreSQL as backend DB)\n\n## Preparation\n```cmd\n# [Required]\n\n# Install as a dotnet tool or download exe from GitHub Release page.\ndotnet tool install --global gbutil --version 0.14.0\n\nsetx GbUtil_ConnectionStrings Host=host;Username=username;Password=password;Database=gitbucket;port=XXXX\nsetx GbUtil_GitBucketUri http://localhost:8080/gitbucket/api/v3/\n\n# [Optional]\n# You can use your personal access token for authentication/authorization...\nsetx GbUtil_AccessToken \u003cpersonal access token\u003e\n\n# ...or username and password credentials.\nsetx GbUtil_UserName \u003cuser name\u003e\nsetx GbUtil_Password \u003cpassword\u003e\n```\n\n## Usage\n### `gbutil issue -t move`\n\n```powershell\ngbutil issue -s|--source -d|--destination -n|--number [-t move]\n```\n\nMove issues between repositories.\n\n```\n\u003e gbutil issue -s root/test1 -d root/test2 -n 1 -t move\nEnter your Username: root\nEnter your Password: ****\nThe issue has been successfully moved to http://localhost:8080/gitbucket/root/test2/issues/35.\nClose the original one manually.\n```\n\n### Options\n|Short name|Long name|Required|Abstract|\n|:-|:-|:-:|:-|\n|`-t`|`--type`|`false`|The type of issue options. Default value is \"move\".|\n|`-s`|`--source`|`true`|The source owner and repository to move from. Use \"/\" for separator like \"root/repository1\".|\n|`-d`|`--destination`|`true`|The destination owner and repository to move to. Use \"/\" for separator like \"root/repository2\".|\n|`-n`|`--number`|`true`|The issue numbers to move. Use \":\" for separator.|\n\n-----\n\n### `gbutil issue -t copy`\n\n```powershell\ngbutil issue -t copy -s|--source -d|--destination -n|--number\n```\n\nCopy issues between repositories.\n\n```\n\u003e gbutil issue -t copy -s root/test1 -d root/test2 -n 1\nEnter your Username: root\nEnter your Password: ****\nThe issue has been successfully copied to http://localhost:8080/gitbucket/root/test2/issues/35.\n```\n\n### Options\n|Short name|Long name|Required|Abstract|\n|:-|:-|:-:|:-|\n|`-t`|`--type`|`true`|The type of issue options. Default value is \"move\".|\n|`-s`|`--source`|`true`|The source owner and repository to copy from. Use \"/\" for separator like \"root/repository1\".|\n|`-d`|`--destination`|`true`|The destination owner and repository to copy to. Use \"/\" for separator like \"root/repository2\".|\n|`-n`|`--number`|`true`|The issue numbers to copy. Use \":\" for separator.|\n\n-----\n\n### `gbutil milestone`\n```powershell\ngbutil milestone -o|--owner -r|--repository [-c|--includeClosed]\n```\nShow unclosed (by default) milestones.\n\n```\n\u003e gbutil milestone -o ikebe:root\nThere are 3 open milestones.\n\n* [root/test], [v1.0.0], [2018/07/01], [Bugfix for #123], [ikebe]\n* [ikebe/RepeatableTimer], [v0.2.0], [2018/08/01], [Implement xxx feature], [ikebe]\n* [ikebe/RepeatableTimer], [v0.3.0], [2019/12/31], [vNext], [user1, user2]\n```\n\n### Options\n|Short name|Long name|Required|Abstract|\n|:-|:-|:-:|:-|\n|`-o`|`--owner`|`true`|The owner names of the repositories to show milestones. Use \":\" for separator.|\n|`-r`|`--repository`|`false`|The repository names to show milestones. Use \":\" for separator.|\n|`-c`|`--includeClosed`|`false`|Whether show closed milestones.|\n\n-----\n\n### `gbutil release`\n\n```powershell\ngbutil release -o|--owner -r|--repository -m|--miliestone [--from-pr] [--create-pr]\n```\nOutput a release note in markdown which lists issues of the repository related to the milistone.  \nIf `--create-pr` option is specified, gbutil automatically creates Pull Request instead of console output.\n\n```powershell\n\u003e gbutil release -o ikebe -r RepeatableTimer -m v0.1.0\nAs part of this release we had 4 issues closed.\nThe highest priority among them is \"very high\".\n\n### Bug\n* Crash when paused  #5\n* CurrentPeriod reset not working when timer stopped #6\n\n### Enhancement\n* Allow one time/repeat options #1\n* Add validation #3\n\n\u003e gbutil release -o ikebe -r RepeatableTimer -m v0.1.0 --create-pr\nA new pull request has been successfully created!\n```\n\n### Options\n|Short name|Long name|Required|Abstract|\n|:-|:-|:-:|:-|\n|`-o`|`--owner`|`true`|The owner name of the repository.|\n|`-r`|`--repository`|`true`|The repository name.|\n|`-m`|`--milestone`|`true`|The milestone to publish a release note.|\n|-|`--from-pr`|`false`|If specified, gbutil publish a release note based on pull requests.|\n|-|`--create-pr`|`false`|If specified, gbutil automatically creates a pull request.|\n|`-b`|`--base`|`false`|The name of the branch you want the changes pulled into. Default value is \"master\".|\n|`-h`|`--head`|`false`|The name of the branch where your changes are implemented. Default value is \"develop\".|\n|-|`--title`|`false`|The title of the new pull request. Default value is the same as milestone.|\n|`-f`|`--force`|`false`|if specified, force the output/creating PR.|\n|-|`--draft`|`false`|If specified, create draft pull request.|\n\n-----\n\n### `gbutil backup`\n\n```powershell\ngbutil backup --home -d|--dest [--pgdump]\n```\nBackup GitBucket repositories and metadata.\n\n```powershell\n\u003e gbutil backup --home \"C:\\gitbucket\" --dest \"C:\\gitbucket-bk\" --pgdump \"C:\\Program Files\\PostgreSQL\\12\\bin\\pg_dump.exe\"\n```\n\n### Options\n|Short name|Long name|Required|Abstract|\n|:-|:-|:-:|:-|\n|-|`--home`|`true`|GITBUCKET_HOME|\n|`-d`|`--dest`|`true`|The backup destination folder path.|\n|-|`--pgdump`|`false`|The path to the pg_dump executable. If pd_dump is not on your PATH, you need to specify this.|\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsikebe%2Fgitbucket-utility","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsikebe%2Fgitbucket-utility","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsikebe%2Fgitbucket-utility/lists"}