{"id":15290950,"url":"https://github.com/azure/data-factory-deploy-action","last_synced_at":"2025-10-07T04:30:44.455Z","repository":{"id":45130934,"uuid":"408432096","full_name":"Azure/data-factory-deploy-action","owner":"Azure","description":"GitHub Action for side-effect free deployment of Azure Data Factory resources","archived":true,"fork":false,"pushed_at":"2024-01-19T10:10:38.000Z","size":72,"stargazers_count":31,"open_issues_count":17,"forks_count":34,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-10-04T00:38:03.830Z","etag":null,"topics":["arm-templates","azure","data-factory","deployment","github-actions"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","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/Azure.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-20T12:21:54.000Z","updated_at":"2024-12-18T12:13:08.000Z","dependencies_parsed_at":"2024-06-19T00:03:32.350Z","dependency_job_id":"98968bd8-2fff-4526-98b9-7db837479531","html_url":"https://github.com/Azure/data-factory-deploy-action","commit_stats":{"total_commits":23,"total_committers":5,"mean_commits":4.6,"dds":0.4782608695652174,"last_synced_commit":"f4cc0700879395c7a021d8cc26272e2d4e56fba8"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/Azure/data-factory-deploy-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure%2Fdata-factory-deploy-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure%2Fdata-factory-deploy-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure%2Fdata-factory-deploy-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure%2Fdata-factory-deploy-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Azure","download_url":"https://codeload.github.com/Azure/data-factory-deploy-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure%2Fdata-factory-deploy-action/sbom","scorecard":{"id":18924,"data":{"date":"2025-08-11","repo":{"name":"github.com/Azure/data-factory-deploy-action","commit":"f4cc0700879395c7a021d8cc26272e2d4e56fba8"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Code-Review","score":0,"reason":"Found 2/22 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 5 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T16:22:22.588Z","repository_id":45130934,"created_at":"2025-08-14T16:22:22.588Z","updated_at":"2025-08-14T16:22:22.588Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278722271,"owners_count":26034457,"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-10-07T02:00:06.786Z","response_time":59,"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":["arm-templates","azure","data-factory","deployment","github-actions"],"created_at":"2024-09-30T16:10:15.632Z","updated_at":"2025-10-07T04:30:44.177Z","avatar_url":"https://github.com/Azure.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Azure Data Factory Deploy Action\n\nGitHub Action that performs a side-effect free deployment of Azure Data Factory entities in a Data Factory instance.\n\n## How it works\n\nThe GitHub Action uses [pre and post-deployment scripts](https://docs.microsoft.com/en-us/azure/data-factory/continuous-integration-deployment#script) to prevent the deployment from potential side effects, such as:\n\n* Execution of active triggers during the deployment process that could corrupt resources relationships or have pipelines in undesired states.\n* Availability of unused resources that could bring confusion to data engineers and reduce maintainability.\n\n![Architecture Design](./images/architecture-design.png)\n\nIt is designed to run the following steps sequentially:\n\n1. A pre-deployment task checks for all active triggers and stop them.\n2. An ARM template deployment task is executed.\n3. A post-deployment task deletes all resources that have  been removed from the ARM template (triggers, pipelines, dataflows, datasets, linked services, Integration Runtimes) and restarts the active triggers.\n\n## When to use\n\nThe action is useful on Continuous Deployment (CD) scenarios, where a step can be added in a workflow to deploy the Data Factory resources.\n\n## Getting Started\n\n### Prerequisites\n\n* A GitHub repository integrated with an existing Azure Data Factory. For more info, see [Source control in Azure Data Factory](https://docs.microsoft.com/en-us/azure/data-factory/source-control).\n* An Azure service principal with `Contributor` role added as a secret on your GitHub repository. For more info, see [Create a service principal and add it to GitHub secret](https://docs.microsoft.com/azure/developer/github/connect-from-azure#create-a-service-principal-and-add-it-to-github-secret).\n\nIf your GitHub Actions workflows are running on a [self-hosted runner](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners), ensure you have installed:\n\n* [PowerShell 7.1](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.1) with [Azure Az PowerShell module](https://docs.microsoft.com/en-us/powershell/azure/install-az-ps?view=azps-6.4.0) \n* [GitHub Actions Runner](https://github.com/actions/runner) `v2.280.3` or later.\n\n### Example Usage\n\n```yml\nsteps:\n  - name: Login via Az module\n    uses: azure/login@v1\n    with:\n      creds: ${{ secrets.AZURE_CREDENTIALS }}\n      enable-AzPSSession: true \n\n  - name: Deploy resources\n    uses: Azure/data-factory-deploy-action@v1.2.0\n    with:\n      resourceGroupName: myResourceGroup\n      dataFactoryName: myDataFactory\n      armTemplateFile: myArmTemplate.json\n      # armTemplateParametersFile: myArmTemplateParameters.json [optional]\n      # additionalParameters: 'key1=value key2=value keyN=value' [optional]\n      # skipAzModuleInstallation: true [optional]\n```\n\n### Inputs\n\n| Name | Description | Required | Default value |\n| --- | --- | --- | --- |\n| `resourceGroupName` | Data Factory resource group name | true | |\n| `dataFactoryName` | Data Factory name | true |  |\n| `armTemplateFile` | Data Factory ARM template file | false | `ARMTemplateForFactory.json`  |\n| `armTemplateParametersFile` | Data Factory ARM template parameters file | false | `ARMTemplateParametersForFactory.json`  |\n| `additionalParameters` | Data Factory custom parameters. Key-values must be splitted by space. | false |\n| `skipAzModuleInstallation` | Skip `Az` powershell module installation. | false | false |\n\n## Contributing\n\nThis project welcomes contributions and suggestions.  Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.\n\nWhen you submit a pull request, a CLA bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n## Trademarks\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft \ntrademarks or logos is subject to and must follow \n[Microsoft's Trademark \u0026 Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\nAny use of third-party trademarks or logos are subject to those third-party's policies.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazure%2Fdata-factory-deploy-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazure%2Fdata-factory-deploy-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazure%2Fdata-factory-deploy-action/lists"}