{"id":13672758,"url":"https://github.com/ply-ct/vscode-ply","last_synced_at":"2025-10-09T01:14:03.066Z","repository":{"id":39985344,"uuid":"96132820","full_name":"ply-ct/vscode-ply","owner":"ply-ct","description":"API Automated Testing","archived":false,"fork":false,"pushed_at":"2024-11-23T20:56:10.000Z","size":8397,"stargazers_count":44,"open_issues_count":46,"forks_count":1,"subscribers_count":10,"default_branch":"main","last_synced_at":"2024-11-23T21:26:01.604Z","etag":null,"topics":["graphql","nodejs","ply","rest-api","testing","typescript","visual-studio-code","workflow"],"latest_commit_sha":null,"homepage":"https://ply-ct.org","language":"TypeScript","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/ply-ct.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2017-07-03T16:58:05.000Z","updated_at":"2024-11-23T20:48:12.000Z","dependencies_parsed_at":"2023-02-18T20:15:25.200Z","dependency_job_id":"6f9a3dbd-b7e8-4b02-b4c7-52051f546d5c","html_url":"https://github.com/ply-ct/vscode-ply","commit_stats":null,"previous_names":["limberest/limberest-js"],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ply-ct%2Fvscode-ply","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ply-ct%2Fvscode-ply/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ply-ct%2Fvscode-ply/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ply-ct%2Fvscode-ply/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ply-ct","download_url":"https://codeload.github.com/ply-ct/vscode-ply/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228187079,"owners_count":17882247,"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":["graphql","nodejs","ply","rest-api","testing","typescript","visual-studio-code","workflow"],"created_at":"2024-08-02T09:01:46.672Z","updated_at":"2025-10-09T01:13:58.038Z","avatar_url":"https://github.com/ply-ct.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003ca href=\"https://ply-ct.org/\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/ply-ct/vscode-ply/master/docs/images/logo.png\" width=\"64\" alt=\"ply\" /\u003e\n\u003c/a\u003e\n\u003ch2\u003eAPI Automated Testing\n\u003cdiv\u003e\n\u003ca href=\"https://ply-ct.org/\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/ply-ct/vscode-ply/master/docs/images/wares.png\" width=\"128\" alt=\"Ply your wares\" /\u003e\n\u003c/a\u003e\n\u003c/div\u003e\n\u003c/h2\u003e\n\n![GitHub Workflow Status](https://github.com/ply-ct/vscode-ply/workflows/Build/badge.svg) ![VS Code Marketplace](https://img.shields.io/visual-studio-marketplace/v/ply-ct.vscode-ply?color=blue\u0026label=VS%20Code%20Marketplace\u0026logo=visual-studio-code) ![CodeQL](https://github.com/ply-ct/vscode-ply/workflows/CodeQL/badge.svg)\n\n[Ply](https://ply-ct.org/) is simply a more intuitive way of autotesting your REST and GraphQL APIs. Create and run HTTP requests\nusing Ply's visual request editor.\n\n![request-recording](docs/images/request-recording.gif)\n\nThen reuse your requests in Ply's graphical flow builder.\n\n![flow-recording](docs/images/flow-recording.gif)\n\nOr edit raw YAML describing your request sequence. Run Ply to submit these requests \nand compare actual results against expected, with [template literal](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) \nplaceholders for dynamic values.\n\nThe Ply extension gives you a side-by-side diff view so you can compare results at a glance.\n\n![diff](docs/images/diff.png)\n\nCheckmarks indicate diff lines that're okay, such as substituted values or comments; whereas Xs indicate\nsignificant differences causing test failure(s).\n\nWhen you need even greater control, Ply [cases](https://ply-ct.github.io/ply/topics/cases) give you\nprogrammatic access via TypeScript to supplement this built-in expected/actual verification.\n\n## Features\n  - Visual HTTP request editor for sending REST and GraphQL requests\n  - Graphical flow builder makes it easy to sequence requests\n  - Side-by-side diff view compares expected/actual results, with smart decorations aware of runtime values\n  - Auto-generate result files by capturing actual good responses\n  - Reference env values and/or upstream response props using template expressions\n  - Ply Explorer sidebar shows all Ply flow/request/case suites along with their statuses\n  - CodeLens links in your Ply test files for running and debugging tests\n  - Built-in GraphQL support providing the same intuitive workflow as REST\n  - Decorations on your Ply test flows and files showing test statuses and results\n  - Test log displayed in Output view when a test is selected in Ply Explorer\n  - Import Ply requests from [Postman](https://www.postman.com/) collections\n\n## Dependencies\nRequires [Test Explorer UI](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer) extension.\n\n## Configuration\nPly configuration is read from [plyconfig.json/yaml](https://ply-ct.github.io/ply/topics/config).\nOther values are configured through vscode settings:\n\nSetting | Description | Default\n------- | ----------- | -------\n`ply.logpanel` | Write detailed log output to the Ply Invoker output panel | false\n`ply.websocketPort` | WebSocket port for Ply flow live updates (0 to disable). Modify in **Workspace** settings to avoid conflicts. | 9351\n`ply.customSteps` | Glob pattern for step descriptor JSON files, relative to workspace folder\n`ply.debugPort` | Port to use for debug connections | 9229\n`ply.debugConfig` | Name of a launch configuration to use for debugging | (see below)\n`ply.nodePath` | Path to node executable | Find on your PATH; if not found, use node shipped with VS Code\n`ply.plyPath` | Path to ply package (relative to workspace folder) eg: \"node_modules/@ply-ct/ply\" | Use a bundled version of ply\n`ply.cwd` | Working directory for Ply test execution (relative to workspace folder) | Workspace folder root\n`ply.env` | Environment variables to apply for Ply test execution |\n`ply.saveBeforeRun` | Automatically save dirty test editor documents before running | true\n`ply.openRequestsAndFlowsWhenRun` | Automatically open requests/flows in custom editor when executing from Ply Explorer | If Single (running a single suite)\n`ply.plyExplorerUseRequestEditor` | When opening individual requests within flow/request suites from Ply Explorer, open in request editor | true\n`ply.useDist` | TODO | false\n`ply.requireTsNode` | TODO | false\n`ply.previewEnabled` | Enable Ply preview features | false\n\n### Custom debug configuration\nYou can specify a custom vscode debug configuration to use for Ply cases instead of the built-in default.\nDo this by creating a debugging configuration in `.vscode/launch.json`. Then specify the name of that\nin setting `ply.debugConfig`. The default built-in debug configuration looks like this:\n```\n{\n  \"name\": \"Ply Debugging\",\n  \"type\": \"node\",\n  \"request\": \"attach\",\n  \"port\": 9229,\n  \"protocol\": \"inspector\",\n  \"timeout\": 10000,\n  \"continueOnAttach\": true\n}\n```\n\n## Troubleshooting\nIf your Ply tests are not displayed or not executing correctly, you can diagnose problems by turning\non logging to \"Ply Invoker\" in Output view through this VS Code setting:\n - `ply.logpanel`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fply-ct%2Fvscode-ply","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fply-ct%2Fvscode-ply","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fply-ct%2Fvscode-ply/lists"}