{"id":23306809,"url":"https://github.com/navikt/ghep","last_synced_at":"2025-08-22T10:31:39.221Z","repository":{"id":218555798,"uuid":"746741083","full_name":"navikt/ghep","owner":"navikt","description":"Github Event Pusher","archived":false,"fork":false,"pushed_at":"2024-10-25T10:14:19.000Z","size":438,"stargazers_count":0,"open_issues_count":4,"forks_count":2,"subscribers_count":76,"default_branch":"main","last_synced_at":"2024-10-25T10:31:24.659Z","etag":null,"topics":["github-app","slack","slack-bot"],"latest_commit_sha":null,"homepage":"","language":"Go","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/navikt.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-22T15:28:42.000Z","updated_at":"2024-10-25T10:14:22.000Z","dependencies_parsed_at":"2024-01-22T19:41:46.996Z","dependency_job_id":"a97d482e-f00b-455b-8481-1e5c3c35248c","html_url":"https://github.com/navikt/ghep","commit_stats":null,"previous_names":["navikt/ghep"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fghep","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fghep/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fghep/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fghep/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/navikt","download_url":"https://codeload.github.com/navikt/ghep/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230582935,"owners_count":18248694,"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":["github-app","slack","slack-bot"],"created_at":"2024-12-20T12:18:52.210Z","updated_at":"2025-08-22T10:31:39.212Z","avatar_url":"https://github.com/navikt.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ghep event pusher\n\nGhep er en Github App som pusher Github events for teams til Slack.\nDet som skiller Ghep fra en haug av andre lignende tjenester er at den automagisk henter repoer basert på Github _teamet_ ditt, og pusher forskjellige events til forskjellige kanaler!\n\n## Hvordan ser det ut?\n\n### Commits\n\nCommits er kanskje den mest aktive hendelsen for et team.\nFor hver `push` blir det sendt en hendelse som blir postet til Slack.\nGhep vil prøve å lenke til `Co-Authors` så godt som mulig.\n\nHvis en `push` trigger en workflow så vil Ghep reacte på commits basert på reisen til workflowen.\n\n👀 - når en jobb har blitt satt i kø  \n⏳ - når den kjører  \n✅ - fullført vellykket  \n❌ - fullført feilet  \n🅿️ - fullført kansellert  \n\n![Commits posted to Slack](images/commits.png)\n\n### Issues og pull requests\n\nIssues og pull requests blir behandlet nesten likt, og ser like ut når de havner i Slack.\n`merged` og `deleted` hendelser vil bli posted i Slack-tråden til et issue eller pull requests.\nDette gjør det enkelt for dere å følge med på hva som skjer.\n\n![A issue posted to Slack](images/issue.png)\n\n![A pull request posted to Slack](images/pull-request.png)\n\n### Workflows\n\nWorkflows som er vellykket er ikke så interessant, derfor er det kun workflows som feiler som blir postet til Slack.\n\n![A failed workflow will be posted to Slack](images/failed-workflow.png)\n\n### Releases\n\nSender releases til en egen kanal, `draft`, `prerelease`, og `releases` blir sendt ut.\n\n![A release posted to Slack](images/release.png)\n\n### Security\n\nSender code scanning, secret scanning, Dependabot, og security advisory til egen kanal.\nNoen av disse hendelsene kan man filtrere på alvorlighetsgrad.\n\n![A secret scanning alert posted to Slack](images/secret-scanning.png)\n\n## Ta den i bruk\n\nAlt du trenger å gjøre er å redigere [`.nais/teams.yaml`](https://github.com/navikt/ghep/blob/main/.nais/teams.yaml) og legge til ditt team og deres kanaler.\n\n``` yaml\nnada:\n commits: \"#nada-commits\"\n issues: \"#nada-issues\"\n pulls: \"#nada-pull-requests\"\n workflows: \"#nada-ci\"\n releases: \"#nada-releases\"\n security: \"#nada-security\"\n```\n\nPS: Hvis kanalene dine er private må du selv invitere @ghep inn i hver kanal.\n\n### Konfigurering\n\nVi har også støtte for litt konfigurering.\nDette legges under `teamnavn.config`.\n\n#### Team configuration\n\n``` yaml\nteam:\n  config:\n    ignoreRepositories:\n      - repoA\n      - repoB\n    silenceDependabot: \"always\"\n    externalContributorsChannel: \"#channel\"\n    security:\n      severityFilter: \"high\"\n    pingSlackUsers: true\n```\n\n- `ignoreRepositories` - En liste med repositories man ikke ønsker hendelser fra\n- `silenceDependabot` - Hvis denne blir satt til `always` så ignorer man alle hendelser fra Dependabot\n- `externalContributorsChannel` - Issues og pull requests fra brukere som ikke er i teamet ditt vil havne i en egen kanal\n- `security.severityFilter` - Filtrer ut sikkerhetshendelser som har _lavere_ alvorlighetsgrad enn spesifisert\n- `pingSlackUsers`- Pinger Slack-brukere som er tildelt issues eller pull requests\n\n#### Workflows\n\n``` yaml\nteam:\n  workflows: #channel\n  config:\n    workflows:\n      ignoreBots: bool\n      branches: [string]\n      workflows: [string]\n      repositories: [string]\n```\n\n- `ignoreBots` - Ikke få Slack-melding om workflows som feiler for bots (for eksempel Dependabot)\n- `branches` - Få *kun* Slack-melding om workflows som feiler for spesifikke branches\n- `workflows` - Få *kun* Slack-melding om workflows som feiler for spesifikke workflows\n- `repositories` - Få *kun* Slack-melding om workflows som feiler for spesifikke repositories\n\n## Lokal utvikling\n\nKjør opp Postgres for testing med Docker.\n\n``` shell\ndocker run --name postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres\ndocker run --name adminer --link postgres:db -p 8081:8080 -d adminer\npsql -h localhost -U postgres -c 'CREATE DATABASE ghep;'\n```\n\n## Kontakt oss\n\nTa kontakt i `#ghep-værsågod` på Slack hvis du har noen spørsmål.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnavikt%2Fghep","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnavikt%2Fghep","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnavikt%2Fghep/lists"}