{"id":25839770,"url":"https://github.com/netresearch/klonfisch","last_synced_at":"2025-03-01T04:34:22.872Z","repository":{"id":4635012,"uuid":"5779606","full_name":"netresearch/klonfisch","owner":"netresearch","description":"FishEye API simulator for GitLab, used to connect JIRA to GitLab.","archived":false,"fork":false,"pushed_at":"2021-12-24T11:26:39.000Z","size":279,"stargazers_count":21,"open_issues_count":0,"forks_count":5,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-04-15T02:08:23.615Z","etag":null,"topics":["php"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/netresearch.png","metadata":{"files":{"readme":"README.rst","changelog":"ChangeLog","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-09-12T12:45:15.000Z","updated_at":"2023-06-13T10:54:52.000Z","dependencies_parsed_at":"2022-08-06T17:16:27.951Z","dependency_job_id":null,"html_url":"https://github.com/netresearch/klonfisch","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/netresearch%2Fklonfisch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netresearch%2Fklonfisch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netresearch%2Fklonfisch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netresearch%2Fklonfisch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/netresearch","download_url":"https://codeload.github.com/netresearch/klonfisch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241317608,"owners_count":19943199,"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":["php"],"created_at":"2025-03-01T04:34:22.245Z","updated_at":"2025-03-01T04:34:22.863Z","avatar_url":"https://github.com/netresearch.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"*******************************************\nKlonfisch, the FishEye simulator for GitLab\n*******************************************\n\nImplements the Atlassian FishEye__ API for GitLab__, so that\nyou can view GitLab commits in JIRA__.\n\nIt's better than all the JIRA Git plugins because it displays the commits\nin a separate \"Source\" tab instead of adding a comment or activity for each\ncommit.\n\n__ http://atlassian.com/software/fisheye/\n__ https://gitlab.com/\n__ http://atlassian.com/software/jira/\n\n.. contents::\n\n========\nFeatures\n========\n\n- Simulates a part of the FishEye API\n- Works with the JIRA FishEye plugin 5.0.7, 5.0.10 and 7.0.13\n- Shows commits on issues (Tab \"Source\")\n- Shows commits for projects (Tab \"Source\")\n- `Search for a ticket number \u003csearch.php\u003e`_ and get the commit history\n- Show the commit history in JIRA Cloud with the `Greasemonkey script \u003c/scripts/commitHistoryforJira.php#.user.js\u003e`_\n\n\nMissing features\n================\n- Showing files that got changed in a commit.\n- Project statistics\n- Authentication - everyone can see all commits\n- Activity streams\n\n\n===========\nScreenshots\n===========\n.. figure:: doc/issue-source.png\n   :height: 200px\n   :target: doc/issue-source.png\n\n   JIRA's issue source tab\n\n.. figure:: doc/project-source.png\n   :height: 200px\n   :target: doc/project-source.png\n\n   JIRA's project source tab\n\n\n============\nHow it works\n============\nKlonfisch is a PHP application that sits between JIRA and GitLab.\n\nGitLab sends commit information to Klonfisch which stores them\nin a MySQL database.\nThis is done via \"web hooks\".\n\nJIRA on the other hand talks to Klonfisch, asking for commit information\nfor projects or single issues.\nKlonfisch searches in the commit database and returns them to JIRA.\nJIRA then displays the commits in the \"Source\" tab of issues and projects.\n\nYou just have to install the FishEye plugin for JIRA, which takes care of\ntalking to Klonfisch and the commit visualization.\n\n\n============\nDependencies\n============\n\n- PHP 5.3+\n- Apache with ``mod_rewrite`` enabled\n- MySQL (or any other database supported by PDO)\n\n\n=====\nSetup\n=====\n\nKlonfisch setup\n===============\n1. ``git clone`` the klonfisch git repository\n2. Create a (MySQL) database to store the commits in\n3. Import ``data/database.sql`` into that database\n4. Copy ``data/klonfisch.config.php.dist`` to\n   ``data/klonfisch.config.php`` and adjust it to your environment.\n5. Setup your (apache) webserver by adding a virtual host and pointing its\n   document root to ``$klonfisch/www/``\n6. Execute ``curl -I http://klonfisch.example.org/rest-service-fe/server-v1``\n   and if you get a ``401 Unauthorized``, you have done everything correct\n\nUntil v1.1.1\n-----------------------\nDelete all entries of a repository that have the same hash and keep only the entry with the highest branch.\n\n#. Import ``data/migrations/001-duplicate.sql`` into the database\n\nGitLab setup\n============\nKlonfisch keeps record of commits to your GitLab instance via web hooks.\nYou can setup them manually in the database, or let Klonfisch create the\nhooks automatically.\n\nManual configuration\n--------------------\nIn every GitLab project (repository), you have to do this:\n\n#. In GitLab project settings, click \"Web Hooks\"\n#. Add a new Web Hook for commits only, to the URL  ``http://klonfisch.example.org/webhook-call.php``\n\n\nAutomatic configuration\n-----------------------\nMake a copy of ``data/gitlab-klonfisch.sql.dist`` and replace\n``http://klonfisch.example.org`` with your klonfisch domain.\n\nThen let cron run the following command every hour on the GitLab server::\n\n    gitlab-rails dbconsole \u003c gitlab-klonfisch.sql\n\nGitLab will then call ``/webhook-call.php`` for each single commit\nto a repository.\n\n\nJIRA setup\n==========\n1. Install the FishEye plugin. Just installation, no configuration\n2. Go to Administration / Applications / Application Links\n3. Click \"Add Application Link\"\n4. Set the Server URL, e.g. ``http://klonfisch.gitlab.example.org/``\n5. Disable ``Also create a link from \"klonfisch\" back to to this server``\n6. Finish the application link setup\n\nHide the review buttons:\n\n#. Click \"Configure FishEye Server\" in the application links list\n#. Set \"Integration setup\" to \"FishEye integration only\"\n\nThat's it. You do not need to setup any authentication.\nYou do not need to setup any project connections.\n\nNow do a commit, mentioning the issue number (e.g. \"JGA-11\") in the commit\nmessage.\nYou will see the commit in JIRA's \"Source\" tab.\n\n\n============\nKnown issues\n============\n\nAlso see `Missing features`_.\n\n\nClicking on repository links does not work\n==========================================\nKlonfisch simulates only one git repository, mainly to reduce the number\nof requests from JIRA.\n(helpful if you have 700+ repositories, and 200+ repositories for a single\nJIRA project)\nThis leads to the issue that only the repository \"test\" is shown for\nthe commits, even though they are from a different repository.\n\nUse the branch link instead (``master in $project/$repo``).\n\n\nRemoving application links\n==========================\n\nAfter removing an application link, you need to disable the\nFishEye plugin and re-enable it again.\n\nIf you fail to do so, you will see errors like\n\n This list may be incomplete, as errors occurred whilst retrieving\n source from linked applications:\n\n Repository test on http://klonfisch.example.org/ failed:\n The application link with id '46bc9c7c-0bad-3503-9ddf-0123456789ab'\n was not found for instance 'FishEyeInstanceImpl...'\n\n\n=======\nTesting\n=======\nSearch for commits::\n\n  https://klonfisch.example.org/rest-service-fe/changeset-v1/listChangesets/?expand=\u0026rep=test\u0026comment=ABC-1\n\n\n===============\nAbout Klonfisch\n===============\n\nLicense\n=======\nKlonfisch is licensed under the `AGPL v3`__ or later.\n\n__ http://www.gnu.org/licenses/agpl\n\n\nAuthor\n======\nChristian Weiske, `Mogic GmbH`__\n\n__ http://mogic.com/\n\n\nHomepage\n========\nKlonfisch is available at https://github.com/mogic-le/klonfisch\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetresearch%2Fklonfisch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetresearch%2Fklonfisch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetresearch%2Fklonfisch/lists"}