{"id":30284705,"url":"https://github.com/faturachmanyusup/scripts","last_synced_at":"2026-04-14T00:02:36.393Z","repository":{"id":236340368,"uuid":"792389689","full_name":"faturachmanyusup/scripts","owner":"faturachmanyusup","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-26T08:08:21.000Z","size":230,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-26T13:36:24.253Z","etag":null,"topics":["automation","bash","git","shell"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/faturachmanyusup.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,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-04-26T15:12:20.000Z","updated_at":"2025-07-26T08:07:21.000Z","dependencies_parsed_at":"2024-05-01T12:06:39.988Z","dependency_job_id":"8304149e-54cd-410e-b5cc-8a50a3ff9a9f","html_url":"https://github.com/faturachmanyusup/scripts","commit_stats":null,"previous_names":["faturachmanyusup/scripts"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/faturachmanyusup/scripts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faturachmanyusup%2Fscripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faturachmanyusup%2Fscripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faturachmanyusup%2Fscripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faturachmanyusup%2Fscripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/faturachmanyusup","download_url":"https://codeload.github.com/faturachmanyusup/scripts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faturachmanyusup%2Fscripts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270759804,"owners_count":24640521,"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","status":"online","status_checked_at":"2025-08-16T02:00:11.002Z","response_time":91,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["automation","bash","git","shell"],"created_at":"2025-08-16T19:15:08.765Z","updated_at":"2026-04-14T00:02:36.387Z","avatar_url":"https://github.com/faturachmanyusup.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Scripts Collection Documentation\nThis repository contains a collection of useful scripts for various tasks and integrations. Below you'll find detailed information about each component and how to use them.\n\n## Usage\n\n### Running Without Installation\nScripts can be run directly from the repository without installation:\n\n```bash\n# Pattern\n./\u003cprovider\u003e/\u003cscript-name\u003e.sh [arguments]\n\n# Examples\n./gitlab/mr-create.sh main -m \"Fix user authentication\"\n./gitlab/mr-create.sh --draft main -m \"Work in progress feature\"\n./gitlab/mr-create.sh --no-squash main -m \"Merge without squashing commits\"\n./clickup/task-get.sh -t 987654321 -me -s \"in progress\"\n./clickup/team-get.sh -s \"john\" -c \"name,email\"\n```\n\n### Installation (Optional)\nFor convenience, scripts can be installed system-wide to `/usr/local/lib/scripts` and run with the `scripts` command:\n\n```bash\n# Pattern after installation\nscripts \u003cprovider\u003e \u003caction\u003e\n\n# Examples after installation\nscripts gitlab mr-create \u003ctarget_branch\u003e [-m \"MR Title\"] [--draft] [--no-squash]\nscripts clickup task-get -t 987654321 -me -s \"in progress\"\n```\n\nThe repository includes an installation script (`install.sh`) that:\n- Installs the scripts to `/usr/local/lib/scripts`\n- Sets up auto-completion for the scripts\n- Requires root privileges to install\n- Adds necessary bash completion configurations\n\nTo install, run:\n```bash\nsudo ./install.sh\n```\n\n## Update\nTo update the scripts to the latest version, you can use the update command:\n\n```bash\nsudo scripts update\n```\n\nThe update process:\n- Downloads the latest version from GitHub\n- Uninstalls the current version\n- Installs the new version\n- Requires root privileges to update\n\n## Uninstallation\nTo remove the scripts from your system, you can use the uninstall command:\n\n```bash\nsudo scripts uninstall [flag]\n```\n\nAvailable flags:\n- `-v, --verbose`: Show detailed information about what's being removed\n\nAlternatively, you can run the uninstall script directly:\n```bash\nsudo ./uninstall.sh\n```\n\n## Available Scripts\n\n### GitLab Integration\n\n#### 1. Merge Request Creation (`gitlab/mr-create.sh`)\nA script to automate merge request creation in GitLab.\n\n**Features:**\n- Automatically creates merge requests from current branch\n- Uses GitLab API with private token authentication\n- Extracts commit message as MR title by default\n- Supports custom MR title with -m flag\n- Supports custom target branch selection\n- Supports creating draft MRs with --draft flag\n- Supports disabling squash with --no-squash flag (squash is enabled by default)\n- Requires `GITLAB_PRIVATE_TOKEN` environment variable\n- Uses git config for PROJECT_ID and ASSIGNEE_ID\n\n**Usage:**\n```bash\nmr-create.sh [target-branch] [-m \"MR Title\"] [--draft] [--no-squash]\nmr-create.sh -m \"MR Title\" [target-branch] [--draft] [--no-squash]\nmr-create.sh --draft [target-branch] [-m \"MR Title\"] [--no-squash]\nmr-create.sh --no-squash [target-branch] [-m \"MR Title\"] [--draft]\n```\n\n**Required Git Configuration:**\n```bash\n# Set your GitLab project ID\ngit config --worktree --add remote.origin.projectid \u003cPROJECT_ID\u003e\n\n# Set your GitLab user ID for assignment\ngit config --worktree --add remote.origin.assigneeid \u003cASSIGNEE_ID\u003e\n```\n\n**Note:** GitLab numeric User ID can be found at https://gitlab.com/api/v4/users?username=\u003cUSERNAME\u003e\n\n### ClickUp Integration\n\n#### 1. Task Update (`clickup/task-update.sh`)\nManages ClickUp tasks through command line interface.\n\n**Features:**\n- Updates task status in ClickUp\n- Handles multiple task IDs\n- Requires `CU_PERSONAL_TOKEN` environment variable\n- Supports parent task relationships\n\n**Usage:**\n```bash\ntask-update.sh [task-ids] [status]\n```\n\n#### 2. Task Get (`clickup/task-get.sh`)\nRetrieves tasks from ClickUp lists or teams with filtering options.\n\n**Features:**\n- Gets tasks from a specific list or team\n- Filters tasks by assignees, status, or current user\n- Supports `--only-me` flag to filter by authenticated user\n- Requires `CU_PERSONAL_TOKEN` environment variable\n- Displays task ID, name, status, assignees, and URL\n\n**Usage:**\n```bash\ntask-get.sh -l \u003cLIST_ID\u003e [-a \u003cASSIGNEE_IDS\u003e] [-s \u003cSTATUS\u003e] [-me]  # Get tasks from specific list\ntask-get.sh -t \u003cTEAM_ID\u003e [-a \u003cASSIGNEE_IDS\u003e] [-s \u003cSTATUS\u003e] [-me] # Get tasks from team\n```\n\n**Examples:**\n```bash\n# Get all tasks from a list\nscripts clickup task-get -l 123456789\n\n# Get tasks assigned to specific users from a list\nscripts clickup task-get -l 123456789 -a \"12345,67890\"\n\n# Get your tasks from team with specific status\nscripts clickup task-get -t 987654321 -me -s \"in progress\"\n\n# Get tasks assigned to you from a list\nscripts clickup task-get -l 123456789 -me\n```\n\n#### 3. Team Get (`clickup/team-get.sh`)\nLists ClickUp teams and their members in organized tables.\n\n**Features:**\n- Shows teams with ID and name headers\n- Displays members in tables under each team\n- Case-insensitive sorting by member name\n- Column selection and filtering options\n- Search members by name (case-insensitive)\n- Filter teams by member email\n\n**Usage:**\n```bash\nteam-get.sh [-e \u003cEMAIL\u003e] [-s \u003cSEARCH\u003e] [-c \u003cCOLUMNS\u003e]\n```\n\n**Examples:**\n```bash\n# Show all teams and members\nscripts clickup team-get\n\n# Show only specific columns\nscripts clickup team-get -c \"name,email\"\n\n# Search for members by name\nscripts clickup team-get -s \"john\"\n\n# Filter teams by member email\nscripts clickup team-get -e \"example.com\"\n\n# Combine filters\nscripts clickup team-get -e \"example.com\" -s \"smith\" -c \"name,email\"\n```\n\n**Available columns:** `id`, `name`, `email`, `status`\n\n#### 4. User Info (`clickup/user-info.sh`)\nRetrieves current user information from ClickUp.\n\n**Features:**\n- Shows your ClickUp user ID, username, email, and color\n- Useful for finding your user ID for assignee filtering\n- Requires `CU_PERSONAL_TOKEN` environment variable\n\n**Usage:**\n```bash\nscripts clickup user-info\n```\n\n#### 5. Space Get (`clickup/space-get.sh`)\nLists spaces within a ClickUp team.\n\n**Features:**\n- Shows all spaces in a team\n- Displays space ID and name\n- Requires `CU_PERSONAL_TOKEN` environment variable\n\n**Usage:**\n```bash\nspace-get.sh -t \u003cTEAM_ID\u003e\n```\n\n**Example:**\n```bash\nscripts clickup space-get -t 987654321\n```\n\n#### 6. List Get (`clickup/list-get.sh`)\nRetrieves lists from a ClickUp space.\n\n**Features:**\n- Shows all lists in a space\n- Displays list ID, name, and task count\n- Requires `CU_PERSONAL_TOKEN` environment variable\n\n**Usage:**\n```bash\nlist-get.sh -s \u003cSPACE_ID\u003e\n```\n\n**Example:**\n```bash\nscripts clickup list-get -s 123456789\n```\n\n### Microsoft Teams Integration\n\n#### 1. Message Sending (`ms-teams/message-send.sh`)\nSends messages to Microsoft Teams channels via webhooks.\n\n**Features:**\n- Sends messages to Teams channels\n- Uses webhook URLs for authentication\n- Simple POST request implementation\n\n**Usage:**\n```bash\nmessage-send.sh\n```\n\n### Life Utilities\nSome unneccesary commands\n\n## Requirements\n- Bash shell environment\n- `curl` for API requests\n- `jq` for JSON processing\n- `rsync` for installation\n- `unzip` for update process\n- Proper environment variables set for various integrations\n\n## Environment Variables\nThe following environment variables are required for different scripts:\n\n- `GITLAB_PRIVATE_TOKEN`: For GitLab operations\n- `CU_PERSONAL_TOKEN`: For ClickUp operations\n\n## Notes\n- All scripts are executable shell scripts\n- Each script performs input validation\n- Error handling is implemented for API responses\n- Scripts follow a consistent pattern for environment variable checking\n\n\u003cbr\u003e\n\n![Yes](./image.png)\n\nThis documentation was generated by [Amazon Q](https://aws.amazon.com/q/developer/) with minimal modifications.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaturachmanyusup%2Fscripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffaturachmanyusup%2Fscripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaturachmanyusup%2Fscripts/lists"}