{"id":19154362,"url":"https://github.com/baloise/codefreeze","last_synced_at":"2026-06-17T04:31:58.518Z","repository":{"id":37404716,"uuid":"365136327","full_name":"baloise/codefreeze","owner":"baloise","description":"This is the ch.baloise.bitbucket:codefreeze plugin for Atlassian Bitbucket Server.","archived":false,"fork":false,"pushed_at":"2023-04-14T17:58:39.000Z","size":218,"stargazers_count":1,"open_issues_count":3,"forks_count":1,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-02-22T21:27:13.365Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/baloise.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"docs/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-07T06:29:44.000Z","updated_at":"2022-06-21T07:44:41.000Z","dependencies_parsed_at":"2024-11-12T18:32:45.434Z","dependency_job_id":null,"html_url":"https://github.com/baloise/codefreeze","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":"baloise/repository-template-java","purl":"pkg:github/baloise/codefreeze","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baloise%2Fcodefreeze","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baloise%2Fcodefreeze/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baloise%2Fcodefreeze/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baloise%2Fcodefreeze/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/baloise","download_url":"https://codeload.github.com/baloise/codefreeze/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baloise%2Fcodefreeze/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34434492,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"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":[],"created_at":"2024-11-09T08:26:35.952Z","updated_at":"2026-06-17T04:31:58.503Z","avatar_url":"https://github.com/baloise.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Codefreeze\n\n![Winterflake](docs/img/winter-icon-16.jpg )\n\n![](https://github.com/baloise/codefreeze/actions/workflows/ci.yml/badge.svg)\n![](https://github.com/baloise/codefreeze/actions/workflows/release.yml/badge.svg)\n[![DepShield Badge](https://depshield.sonatype.org/badges/baloise/codefreeze/depshield.svg)](https://depshield.github.io)\n\n## Documentation\n\n*Codefreeze* is a basic plugin for [Atlassian Bitbucket](https://www.atlassian.com/software/bitbucket) that allows you ahead of time set date from which pushing directly to specified branches is no longer possible.\n\nIn order to enable the *Codefreeze* settings page one of two hooks should be enabled on project or repository level:\n- MergeCheck:\n  - CodeFreezeMergeCheck: allows merges of pull requests only after admin review of the change\n  - IsIssueKeyCorrect: executes a groovy script for every Jira ticket contained inside the pull request\n- Hooks:\n  - CodeFreezePrePushHook: blocks pushing to specified branches after specified date\n  - IsIssueKeyCorrect: executes groovy script to evaluate the correctness of a Jira Issue, checks across all available fields\n\nThe branch name in the settings will be checked against ref name by \"contains\" function, which means that the master will apply restriction to branches such as `/8/1/0/master`, `/master/test` and so on.\n\nAn example for a groovy script can be found in the file `scr/test/resources/groovy/ParseScript.groovy`.\n\n## Configuration\nSettings can be found either on the left side panel of the repository page or inside repository settings.\n\n![Pull Request Side Panel](docs/img/BSmartPullRequestSidePanel.png)\n\nThe merge checks page looks like:\n![MergeChecks](docs/img/MergeChecks.png)\n\nThe issue checker is configured as follows:\n![Issue Cheker Config](docs/img/IssueCheckerConfigPage.png)\n\nA code freeze can be configured the following way:\n![Code Freeze Configuration](docs/img/CodeFreezeConfigPage.png)\n\nThe authorization needs to be defined in JIRA:\n![Jira Authorization](docs/img/JiraAuthorization.png)\n\n# Open Issues\n- Reinit the Github task https://github.com/baloise/open-source/issues/117\n\n## Hints for Developing Plugins\n\nHere are the SDK commands you'll use immediately:\n\n* `atlas-run`:  installs this plugin into the product and starts it on localhost\n* `atlas-debug`:  same as `atlas-run`, but allows a debugger to attach at port 5005\n* `atlas-cli`:  after `atlas-run` or `atlas-debug`, opens a Maven command line window: `pi`\n                   re-installs the plugin into the running product instance\n* `atlas-help`: prints description for all commands in the SDK\n\nThe full documentation is available at [Introduction to the Atlassian Plugin SDK](https://developer.atlassian.com/display/DOCS/Introduction+to+the+Atlassian+Plugin+SDK)\n\nAn example plugin can be found at https://bitbucket.org/atlassian/bitbucket-server-example-plugins.\n\nFor locating web elements suffix address with `?web.items\u0026web.panels\u0026web.sections`.\n\nFollow the link [Best practices for active objects](https://developer.atlassian.com/server/framework/atlassian-sdk/best-practices-for-developing-with-active-objects/)\nto obtain further best practices.\n\nThe DB access must be configured using the following JDBC URL:\n\n`jdbc:h2:file:[pluginfolderpath]\\target\\bitbucket\\home\\shared\\data\\db;AUTO_SERVER=TRUE`\n\nYou can find an AUI soy template at:\n* https://bitbucket.org/atlassian/aui/src/auiplugin-5.0-m26-stash/auiplugin/src/main/resources/soy/atlassian/form.soy?fileviewer=file-view-default\n* https://developer.atlassian.com/server/bitbucket/reference/soy/branch-selector-field/\n\nThe API is used with the following URL structure:\n\n`{host}/{app}/rest/{pathOfRest}/{versionOfRest}/{pathDefinedInClass)`\n\nExample:\n\n`localhost:7990/bitbucket/rest/codefreeze/1.0/projects/PROJECT_1/repos/rep_1/branchfreeze`\n\n## Open Source\nThis project is open source and follows the [Baloise Open Source Guidelines](https://baloise.github.io/open-source/docs/arc42/).\n\n# References\n* [Icon on Marketplace: Snowflake](https://www.google.com/url?sa=i\u0026url=https%3A%2F%2Ficon-library.com%2Ficon%2Fwinter-icon-9.html\u0026psig=AOvVaw2XKbclJVEHJhEad8hOdcq4\u0026ust=1624008383274000\u0026source=images\u0026cd=vfe\u0026ved=0CAkQjhxqFwoTCOjl6vWsnvECFQAAAAAdAAAAABAJ)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaloise%2Fcodefreeze","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaloise%2Fcodefreeze","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaloise%2Fcodefreeze/lists"}