{ "$schema": "https://www.raycast.com/schemas/extension.json", "name": "gitlab", "title": "GitLab", "version": "1.2.0", "author": "tonka3000", "license": "MIT", "description": "Create, search and modify issues, manage merge requests, projects and more.", "icon": "gitlab.png", "commands": [ { "name": "issue_my", "title": "My Open Issues", "subtitle": "GitLab", "description": "My GitLab Issues", "mode": "view" }, { "name": "issue_search", "title": "Search Issues", "subtitle": "GitLab", "description": "Search GitLab Issues", "mode": "view" }, { "name": "issue_create", "title": "Create Issue", "subtitle": "GitLab", "description": "Create GitLab Issue", "mode": "view" }, { "name": "mr_my", "title": "My Merge Requests", "subtitle": "GitLab", "description": "You GitLab Merge Requests", "mode": "view" }, { "name": "mr_search", "title": "Search Merge Requests", "subtitle": "GitLab", "description": "Search Merge Requests", "mode": "view" }, { "name": "mr_create", "title": "Create Merge Request", "subtitle": "GitLab", "description": "Create GitLab Merge Request", "mode": "view" }, { "name": "user_search", "title": "Search User", "subtitle": "GitLab", "description": "Search GitLab user", "mode": "view" }, { "name": "todos", "title": "My Todos", "subtitle": "GitLab", "description": "My GitLab Todos", "mode": "view" }, { "name": "reviews", "title": "My Reviews", "subtitle": "GitLab", "description": "My GitLab Reviews", "mode": "view" }, { "name": "group_search", "title": "Search Groups", "subtitle": "GitLab", "description": "Search GitLab Groups", "mode": "view" }, { "name": "project_search", "title": "Search Projects", "subtitle": "GitLab", "description": "Search GitLab Projects", "mode": "view", "preferences": [ { "name": "active", "description": "Limit by projects that are not archived and not marked for deletion", "type": "checkbox", "required": false, "label": "Search active projects only", "default": false } ] }, { "name": "project_starred", "title": "My Starred Projects", "subtitle": "GitLab", "description": "Starred GitLab Projects", "mode": "view" }, { "name": "project_my", "title": "My Projects", "subtitle": "GitLab", "description": "My GitLab Projects", "mode": "view" }, { "name": "group_my", "title": "My Groups", "subtitle": "GitLab", "description": "GitLab Groups", "mode": "view", "preferences": [ { "name": "flatlist", "description": "Show Groups as Flat List at once", "type": "checkbox", "required": false, "label": "Flat List View", "default": false } ] }, { "name": "epics", "title": "Epics", "subtitle": "GitLab", "description": "GitLab Epics", "mode": "view" }, { "name": "epic_search", "title": "Search Epics", "subtitle": "GitLab", "description": "Search GitLab Epics", "mode": "view" }, { "name": "event_my", "title": "Recent Activities", "subtitle": "GitLab", "description": "Recent GitLab Activities", "mode": "view" }, { "name": "status", "title": "Set Status", "subtitle": "GitLab", "description": "Managed My GitLab Status", "mode": "view" }, { "name": "commits_my", "title": "My Recent Commits", "subtitle": "GitLab", "description": "Managed My Recent Commits", "mode": "view" }, { "name": "todomenubar", "title": "Todos Menu Bar", "description": "Show your todos directly in the Menubar", "mode": "menu-bar", "interval": "15m", "preferences": [ { "name": "maxtodos", "description": "Maximum Todos shown", "type": "textfield", "required": false, "title": "Max. Todos", "placeholder": "10" }, { "name": "alwaysshow", "description": "Show Todos always in the Menubar regardless if you have todos or not", "type": "checkbox", "required": false, "label": "Show Always", "title": "Appearance", "default": true }, { "name": "showtext", "description": "Show Todo Count", "type": "checkbox", "required": false, "label": "Show Todo Count", "default": true }, { "name": "grayicon", "description": "Show Grayscale icon", "type": "checkbox", "required": false, "label": "Grayscale Icon", "default": false } ] }, { "name": "mrmenu", "title": "Merge Requests Menu Bar", "description": "Display Merge Request directly in the Menubar", "mode": "menu-bar", "interval": "5m", "preferences": [ { "name": "maxitems", "description": "Maximum Merge Requests shown", "type": "textfield", "required": false, "title": "Max. Merge Requests", "placeholder": "10" }, { "name": "showtext", "description": "Show Merge Requests Count", "type": "checkbox", "required": false, "label": "Show Merge Requests Count", "title": "Appearance", "default": true }, { "name": "assignedLabels", "description": "Only show Assigned MRs with these labels (comma-separated)", "type": "textfield", "required": false, "title": "Assigned MRs Labels", "placeholder": "e.g. bug,feature,urgent" }, { "name": "createdLabels", "description": "Only show My MRs with these labels (comma-separated)", "type": "textfield", "required": false, "title": "My MRs Labels", "placeholder": "e.g. Action Required,WIP" }, { "name": "reviewLabels", "description": "Only show Reviews with these labels (comma-separated)", "type": "textfield", "required": false, "title": "Reviews Labels", "placeholder": "e.g. Human Review Required,Ready for Review" } ] }, { "name": "issuemenu", "title": "Issues Menu Bar", "description": "Display Issues directly in the Menubar", "mode": "menu-bar", "interval": "15m", "preferences": [ { "name": "maxitems", "description": "Maximum Issues shown", "type": "textfield", "required": false, "title": "Max. Issues", "placeholder": "10" }, { "name": "showtext", "description": "Show Issues Count", "type": "checkbox", "required": false, "label": "Show Issues Count", "title": "Appearance", "default": true }, { "name": "includeLabels", "description": "Only show issues with these labels (comma-separated)", "type": "textfield", "required": false, "title": "Include Labels", "placeholder": "e.g. bug,feature,urgent" }, { "name": "excludeLabels", "description": "Exclude issues with these labels (comma-separated)", "type": "textfield", "required": false, "title": "Exclude Labels", "placeholder": "e.g. WIP,blocked" } ] } ], "preferences": [ { "name": "instance", "type": "textfield", "required": true, "title": "GitLab URL", "description": "URL of your GitLab instance", "placeholder": "URL of your GitLab instance e.g. https://gitlab.com" }, { "name": "token", "type": "password", "required": true, "title": "API Token", "description": "Your GitLab API token. `api` scope for read and write operations, `read_api` when you just want to read only commands.", "link": "https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html", "placeholder": "Enter your GitLab API token." }, { "name": "cirefreshinterval", "type": "textfield", "required": false, "default": "10", "title": "CI Auto Refresh Interval (sec)", "description": "Refresh interval in seconds for CI Pipeline/Job lists. Values between 1-9 are not recommended. 0 mean no auto refresh at all", "placeholder": "10" }, { "name": "primaryaction", "type": "dropdown", "title": "Preferred Primary Action", "required": true, "default": "detail", "data": [ { "title": "Open in Browser", "value": "browser" }, { "title": "Open in Raycast", "value": "detail" } ], "description": "Set the default action for Projects" }, { "name": "poptoroot", "type": "checkbox", "label": "Pop to Root after external action", "required": false, "default": false, "title": "Behavior", "description": "Pop to root after e.g. open the browser" }, { "name": "listdetails", "type": "checkbox", "label": "Show details in merge request list", "required": false, "default": false, "description": "Show details in merge request lists via a metadata view" }, { "name": "includeEpicAncestor", "type": "checkbox", "label": "Include Group Ancestors for Epics", "required": false, "default": false, "description": "Include Group Ancestors for Epics when a higher group is not getable from with the top-level flag" }, { "name": "ignorecerts", "type": "checkbox", "label": "Ignore Certificate Errors (not recommended)", "required": false, "default": false, "title": "Certificate Errors", "description": "Ignore SSL Errors" }, { "name": "customcacert", "type": "textfield", "title": "Custom CA Certificate", "placeholder": "/my/ca.pem", "required": false, "description": "Optionally override the trusted CA certificates" }, { "name": "customcert", "type": "textfield", "title": "Custom Certificate", "placeholder": "/my/cert.pem", "required": false, "description": "Set Custom Certificate" }, { "name": "excludeTodoAuthorUsernames", "type": "textfield", "required": false, "title": "Exclude Todo Authors", "description": "Hide Todos Created By Someone", "placeholder": "e.g. bot1,bot2" } ], "categories": [ "Developer Tools" ], "platforms": [ "macOS", "Windows" ], "contributors": [ "Loskir", "immint023", "duboiss", "metakirby5", "macbookandrew", "shaoye", "charlej", "emlez", "hendrikbunnick", "stelo", "romanschmid", "jessedobbelaere", "heavyrisem", "constantins2001", "pernielsentikaer", "tane_van_wifferen", "1weiho", "pnowy", "ridemountainpig", "j3lte" ], "dependencies": { "@apollo/client": "^3.4.8", "@raycast/api": "^1.101.0", "@raycast/utils": "^1.17.0", "apollo-link-context": "^1.0.20", "cross-fetch": "^4.0.0", "fuse.js": "^6.4.6", "graphql": "^15.5.1", "javascript-time-ago": "^2.3.10", "node-fetch": "^3.2.10", "open": "^8.2.1", "url-join": "^4.0.1", "use-interval": "^1.4.0" }, "devDependencies": { "@raycast/eslint-config": "^2.0.4", "@types/node": "22.13.10", "@types/node-emoji": "^1.8.1", "@types/node-fetch": "^2.5.12", "@types/open": "^6.2.1", "@types/react": "19.0.10", "@types/url-join": "^4.0.1", "eslint": "^9.22.0", "prettier": "^3.5.3", "typescript": "^5.8.2" }, "scripts": { "dev": "ray develop", "build": "ray build -e dist", "lint": "ray lint", "fix-lint": "ray lint --fix", "fix-prettier": "prettier --write src", "evals": "ray evals", "publish": "npx @raycast/api@latest publish" }, "tools": [ { "name": "search-projects", "title": "Search Projects", "description": "Search gitlab projects" }, { "name": "search-issues", "title": "Search Issues", "description": "Search gitlab issues" }, { "name": "search-merge-requests", "title": "Search Merge Requests", "description": "Search gitlab merge requests" }, { "name": "get-todos", "title": "Get Todos", "description": "Get my gitlab todos" }, { "name": "close-issue", "title": "Close Issue", "description": "Close an issue by project and iid" }, { "name": "reopen-issue", "title": "Reopen Issue", "description": "Reopen an issue by project and iid" }, { "name": "close-merge-request", "title": "Close Merge Request", "description": "Close a merge request by project and iid" }, { "name": "reopen-merge-request", "title": "Reopen Merge Request", "description": "Reopen a merge request by project and iid" }, { "name": "merge-merge-request", "title": "Merge Merge Request", "description": "Merge a merge request with options" }, { "name": "get-activities", "title": "Get Activities", "description": "Get recent gitlab activities" }, { "name": "get-recent-commits", "title": "Get Recent Commits", "description": "Get my recent commits" }, { "name": "open-in-browser", "title": "Open in Browser", "description": "Open a URL in Browser" } ] }