{"id":26172178,"url":"https://github.com/swellaby/azdo-shellcheck","last_synced_at":"2025-04-14T20:21:26.845Z","repository":{"id":37692393,"uuid":"170795570","full_name":"swellaby/azdo-shellcheck","owner":"swellaby","description":"ShellCheck extension for Azure DevOps","archived":false,"fork":false,"pushed_at":"2024-08-15T04:11:19.000Z","size":2039,"stargazers_count":2,"open_issues_count":15,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T08:35:41.206Z","etag":null,"topics":["azure-devops","azure-pipelines","shell","shellcheck"],"latest_commit_sha":null,"homepage":null,"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/swellaby.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-02-15T03:22:12.000Z","updated_at":"2022-01-28T03:12:25.000Z","dependencies_parsed_at":"2023-02-05T03:00:52.300Z","dependency_job_id":null,"html_url":"https://github.com/swellaby/azdo-shellcheck","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swellaby%2Fazdo-shellcheck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swellaby%2Fazdo-shellcheck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swellaby%2Fazdo-shellcheck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swellaby%2Fazdo-shellcheck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/swellaby","download_url":"https://codeload.github.com/swellaby/azdo-shellcheck/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248952344,"owners_count":21188427,"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":["azure-devops","azure-pipelines","shell","shellcheck"],"created_at":"2025-03-11T19:53:31.014Z","updated_at":"2025-04-14T20:21:26.825Z","avatar_url":"https://github.com/swellaby.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# azdo-shellcheck\n[ShellCheck][shellcheck-repo] extension for Azure DevOps.  \n\nFunctional, but still in an early preview/beta.   \n\n[![Version Badge][version-badge]][ext-url]\n[![Installs Badge][installs-badge]][ext-url]\n[![Rating Badge][rating-badge]][ext-url]\n[![License Badge][license-badge]][license-url]\n\n[![Linux CI Badge][linux-ci-badge]][linux-ci-url]\n[![Mac CI Badge][mac-ci-badge]][mac-ci-url]\n[![Windows CI Badge][windows-ci-badge]][windows-ci-url]  \n\n[![Test Results Badge][tests-badge]][tests-url]\n[![Coverage Badge][coverage-badge]][coverage-url]\n\n## Contents\nThis extension adds two Azure Pipelines tasks to enable the execution of [ShellCheck][shellcheck-repo] in your Pipelines.\n\n* Install ShellCheck - Use this task to install ShellCheck if your target agent does not already have ShellCheck installed (like the Hosted Agents)\n* Run ShellCheck - Use this task to run a ShellCheck analysis\n\n## Usage\n\n### Install Task\nThe install ShellCheck task only has a single input:\n\n* `version` - Specify the version of ShellCheck you want to install. \n  * Input type: picklist\n  * Default value: `latest`\n  * Allowed values: `latest`, `stable`, `0.6.0`, `0.5.0`, `0.4.7`, `0.4.6`\n\nHere's the task in a visual designer based pipeline:\n![][install-task-visual-designer-image]\n\nAnd here's the snippet you'd use for a yaml based pipeline:\n```yml\n- task: swellaby.shellcheck.install-shellcheck.install-shellcheck@0\n  displayName: 'Install ShellCheck'\n  inputs:\n    version: stable\n```\n\n### Run Task\nThe run ShellCheck task has several inputs that map to various options/arguments to pass to ShellCheck. Please note that some options are only available in newer versions of ShellCheck. \n\nInputs:\n* `targetFiles` - The files to run the ShellCheck scan against. Note that you can use glob/wildcard patterns (with directory recursion). For visual designer based pipelines you also have the option to use the file picker.\n  * Input type: filePath\n  * Default value: `**/*.sh`\n* `followSourcedFiles` - Enable this option to follow `source` statements. When this input is set to true, the `-x`/`--external-sources` option will be passed to ShellCheck. Review the [ShellCheck documentation on this option][follow-sourced-files-option-doc-url] for more information.\n  * Input type: boolean\n  * Default value: `false`\n* `checkSourcedFiles` - Enable this option to report issues found in sourced files. When this input is set to true, the `-a`/`--check-sourced` option will be passed to ShellCheck. Review the [ShellCheck documentation on this option][options-doc-url] for more information.\n  * Input type: boolean\n  * Default value: `false`\n* `ignoredErrorCodes` - Use this option to ignore specific error codes. Place each error code that should be ignored on a separate line in your pipeline config. When specified, this input will pass the `-e` option to ShellCheck with the specified error codes. Review the [ShellCheck documentation on this option][error-codes-option-doc-url] for more information.\n  * Input type: multiline\n* `outputFormat` - This option specifies the type of output format to use. Review the [ShellCheck documentation on this option][output-format-option-doc-url] for more information.\n  * Input type: picklist\n  * Default value: `tty`\n  * Allowed values: `tty`, `checkstyle`, `gcc`, `json`\n* `shellDialect` - This option specifies the type of shell dialect to use. When this input is changed to something other than `default`, the `-s` option will be passed to ShellCheck with the specified dialect. Review the [ShellCheck documentation on this option][shell-dialect-option-doc-url] for more information.\n  * Input type: picklist\n  * Default value: `default`\n  * Allowed values: `default`, `sh`, `bash`, `dash`, `ksh`\n* `useRcFiles` - Disable this option to ignore all ShellCheck rc files. When this input is set to false, the `--norc` option will be passed to ShellCheck. Review the [ShellCheck documentation on this option][norc-files-option-doc-url] for more information.\n  * Input type: boolean\n  * Default value: `true`\n\n\nHere's the task in a visual designer based pipeline:\n![][run-task-visual-designer-image]\n\nAnd here's the snippet you'd use for a yaml based pipeline:\n```yml\n- task: swellaby.shellcheck.shellcheck.shellcheck@0\n  displayName: 'Run ShellCheck analysis'\n  inputs:\n    targetFiles: '**/*.sh'\n    followSourcedFiles: true\n    checkSourcedFiles: true\n    ignoredErrorCodes: |\n      SC2059\n      SC2058\n    outputFormat: checkstyle\n    shellDialect: sh\n    useRcFiles: false\n```\n\n## Feedback and Contributing\nWe'd love to hear from you! Have a request, question, or found a bug? Let us know:\n\n- [Report a bug][create-bug]\n- [Request an enhancement or new feature][create-feature-request]\n- [Ask a question][create-question]\n\nYou can also add a [review][review-url], and/or give us a [star on GitHub][repo-url]!\n\nCheck out our [contributing guide][contributing] for detailed information on contributing to this extension.\n\n## Icon Credits\nThe task and extension icons were sourced from the shellcheck.net icon in https://github.com/koalaman/shellcheck.net\n\n[installs-badge]: https://img.shields.io/visual-studio-marketplace/azure-devops/installs/total/swellaby.shellcheck.svg?style=flat-square\n[version-badge]: https://img.shields.io/vscode-marketplace/v/swellaby.shellcheck.svg?style=flat-square\u0026label=marketplace\n[rating-badge]: https://img.shields.io/vscode-marketplace/r/swellaby.shellcheck.svg?style=flat-square\n[ext-url]: https://marketplace.visualstudio.com/items?itemName=swellaby.shellcheck\n[license-url]: ./LICENSE\n[license-badge]: https://img.shields.io/github/license/swellaby/azdo-shellcheck.svg?style=flat-square\u0026color=blue\n[downloads-badge]: https://img.shields.io/crates/d/rusty-hook.svg?style=flat-square\n[linux-ci-badge]: https://img.shields.io/azure-devops/build/swellaby/opensource/66/master.svg?label=linux%20build\u0026style=flat-square\n[linux-ci-url]: https://dev.azure.com/swellaby/OpenSource/_build/latest?definitionId=66\n[mac-ci-badge]: https://img.shields.io/azure-devops/build/swellaby/opensource/59/master.svg?label=mac%20build\u0026style=flat-square\n[mac-ci-url]: https://dev.azure.com/swellaby/OpenSource/_build/latest?definitionId=59\n[windows-ci-badge]: https://img.shields.io/azure-devops/build/swellaby/opensource/60/master.svg?label=windows%20build\u0026style=flat-square\n[windows-ci-url]: https://dev.azure.com/swellaby/OpenSource/_build/latest?definitionId=60\n[coverage-badge]: https://img.shields.io/azure-devops/coverage/swellaby/opensource/66/master.svg?style=flat-square\n[coverage-url]: https://codecov.io/gh/swellaby/azdo-shellcheck/branch/master\n[tests-badge]: https://img.shields.io/azure-devops/tests/swellaby/opensource/66/master.svg?label=unit%20tests\u0026style=flat-square\n[tests-url]: https://dev.azure.com/swellaby/OpenSource/_build/latest?definitionId=66\u0026view=ms.vss-test-web.build-test-results-tab\n[shellcheck-repo]: https://github.com/koalaman/shellcheck\n[contributing]: https://github.com/swellaby/azdo-shellcheck/tree/master/.github/CONTRIBUTING.md\n[review-url]: https://marketplace.visualstudio.com/items?itemName=swellaby.shellcheck\u0026ssr=false#review-details\n[create-issue]: https://github.com/swellaby/azdo-shellcheck/issues/new/choose\n[create-bug]: https://github.com/swellaby/azdo-shellcheck/issues/new?template=01_BUG.md\n[create-feature-request]: https://github.com/swellaby/azdo-shellcheck/issues/new?template=02_FEATURE_REQUEST.md\n[create-question]: https://github.com/swellaby/azdo-shellcheck/issues/new?template=03_QUESTION.md\n[repo-url]: https://github.com/swellaby/azdo-shellcheck\n[install-task-visual-designer-image]: https://user-images.githubusercontent.com/13042488/56933572-09a25c80-6aae-11e9-9d06-012a6c34190c.png\n[run-task-visual-designer-image]: https://user-images.githubusercontent.com/13042488/56933596-26d72b00-6aae-11e9-91d5-d40f6771f878.png\n[follow-sourced-files-option-doc-url]: https://github.com/koalaman/shellcheck/wiki/Integration#decide-whether-you-want-to-follow-sourced-files-that-are-not-specified-as-input\n[error-codes-option-doc-url]: https://github.com/koalaman/shellcheck/wiki/Ignore#ignoring-errors\n[output-format-option-doc-url]: https://github.com/koalaman/shellcheck/blob/master/shellcheck.1.md#formats\n[shell-dialect-option-doc-url]: https://github.com/koalaman/shellcheck/wiki/Integration#decide-whether-you-want-to-specify-a-shell-dialect\n[norc-files-option-doc-url]: https://github.com/koalaman/shellcheck/blob/master/shellcheck.1.md#rc-files\n[options-doc-url]: https://github.com/koalaman/shellcheck/blob/master/shellcheck.1.md#options\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswellaby%2Fazdo-shellcheck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswellaby%2Fazdo-shellcheck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswellaby%2Fazdo-shellcheck/lists"}