[{"data":1,"prerenderedAt":1011},["ShallowReactive",2],{"docs-navigation":3,"-docs-guides-webhooks":410,"-docs-guides-webhooks-surround":1006},[4,19,166,319,333,397],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":18},"Overview","i-lucide-compass","\u002Fdocs\u002Foverview","docs\u002F1.overview",[10,14],{"title":11,"path":12,"stem":13},"Introduction","\u002Fdocs\u002Foverview\u002Fintroduction","docs\u002F1.overview\u002F1.introduction",{"title":15,"path":16,"stem":17},"JFrog compatibility","\u002Fdocs\u002Foverview\u002Fjfrog-compatibility","docs\u002F1.overview\u002F2.jfrog-compatibility",false,{"title":20,"icon":21,"path":22,"stem":23,"children":24,"page":18},"Installation","i-lucide-download","\u002Fdocs\u002Finstallation","docs\u002F2.installation",[25,29,43,68,108,112,116,162],{"title":26,"path":27,"stem":28},"Choosing a method","\u002Fdocs\u002Finstallation\u002Foverview","docs\u002F2.installation\u002F1.overview",{"title":30,"icon":31,"path":32,"stem":33,"children":34,"page":18},"Single binary","i-lucide-terminal","\u002Fdocs\u002Finstallation\u002Fsingle-binary","docs\u002F2.installation\u002F2.single-binary",[35,39],{"title":36,"path":37,"stem":38},"Quick start","\u002Fdocs\u002Finstallation\u002Fsingle-binary\u002Fquick-start","docs\u002F2.installation\u002F2.single-binary\u002F1.quick-start",{"title":40,"path":41,"stem":42},"Limits and backups","\u002Fdocs\u002Finstallation\u002Fsingle-binary\u002Foperations","docs\u002F2.installation\u002F2.single-binary\u002F2.operations",{"title":44,"icon":45,"path":46,"stem":47,"children":48,"page":18},"Docker","i-simple-icons-docker","\u002Fdocs\u002Finstallation\u002Fdocker","docs\u002F2.installation\u002F3.docker",[49,52,56,60,64],{"title":36,"path":50,"stem":51},"\u002Fdocs\u002Finstallation\u002Fdocker\u002Fquick-start","docs\u002F2.installation\u002F3.docker\u002F1.quick-start",{"title":53,"path":54,"stem":55},"PostgreSQL and S3","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fpostgresql-and-s3","docs\u002F2.installation\u002F3.docker\u002F2.postgresql-and-s3",{"title":57,"path":58,"stem":59},"Docker Compose","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fcompose","docs\u002F2.installation\u002F3.docker\u002F3.compose",{"title":61,"path":62,"stem":63},"Compose settings","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fcompose-settings","docs\u002F2.installation\u002F3.docker\u002F4.compose-settings",{"title":65,"path":66,"stem":67},"Compose with another object store","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fcompose-other-object-storage","docs\u002F2.installation\u002F3.docker\u002F5.compose-other-object-storage",{"title":69,"icon":70,"path":71,"stem":72,"children":73,"page":18},"Kubernetes","i-simple-icons-kubernetes","\u002Fdocs\u002Finstallation\u002Fkubernetes","docs\u002F2.installation\u002F4.kubernetes",[74,77,80,84,88,92,96,100,104],{"title":5,"path":75,"stem":76},"\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Foverview","docs\u002F2.installation\u002F4.kubernetes\u002F1.overview",{"title":36,"path":78,"stem":79},"\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fquick-start","docs\u002F2.installation\u002F4.kubernetes\u002F2.quick-start",{"title":81,"path":82,"stem":83},"External PostgreSQL","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fexternal-postgresql","docs\u002F2.installation\u002F4.kubernetes\u002F3.external-postgresql",{"title":85,"path":86,"stem":87},"External object storage","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fexternal-object-storage","docs\u002F2.installation\u002F4.kubernetes\u002F4.external-object-storage",{"title":89,"path":90,"stem":91},"Exposing Relic","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fexposing","docs\u002F2.installation\u002F4.kubernetes\u002F5.exposing",{"title":93,"path":94,"stem":95},"Values","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fvalues","docs\u002F2.installation\u002F4.kubernetes\u002F6.values",{"title":97,"path":98,"stem":99},"Upgrades and removal","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fupgrades","docs\u002F2.installation\u002F4.kubernetes\u002F7.upgrades",{"title":101,"path":102,"stem":103},"Hardening and probes","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fhardening","docs\u002F2.installation\u002F4.kubernetes\u002F8.hardening",{"title":105,"path":106,"stem":107},"Monitoring","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fmonitoring","docs\u002F2.installation\u002F4.kubernetes\u002F9.monitoring",{"title":109,"path":110,"stem":111},"Cloudflare","\u002Fdocs\u002Finstallation\u002Fcloudflare","docs\u002F2.installation\u002F5.cloudflare",{"title":113,"path":114,"stem":115},"Configuration reference","\u002Fdocs\u002Finstallation\u002Fconfiguration","docs\u002F2.installation\u002F6.configuration",{"title":117,"icon":118,"path":119,"stem":120,"children":121,"page":18},"Storage","i-lucide-hard-drive","\u002Fdocs\u002Finstallation\u002Fstorage","docs\u002F2.installation\u002F7.storage",[122,126,130,134,138,142,146,150,154,158],{"title":123,"path":124,"stem":125},"Storage overview","\u002Fdocs\u002Finstallation\u002Fstorage\u002Foverview","docs\u002F2.installation\u002F7.storage\u002F1.overview",{"title":127,"path":128,"stem":129},"Azure Blob Storage","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fazure-blob-storage","docs\u002F2.installation\u002F7.storage\u002F10.azure-blob-storage",{"title":131,"path":132,"stem":133},"SeaweedFS","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fseaweedfs","docs\u002F2.installation\u002F7.storage\u002F2.seaweedfs",{"title":135,"path":136,"stem":137},"Amazon S3","\u002Fdocs\u002Finstallation\u002Fstorage\u002Famazon-s3","docs\u002F2.installation\u002F7.storage\u002F3.amazon-s3",{"title":139,"path":140,"stem":141},"Cloudflare R2","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fcloudflare-r2","docs\u002F2.installation\u002F7.storage\u002F4.cloudflare-r2",{"title":143,"path":144,"stem":145},"MinIO","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fminio","docs\u002F2.installation\u002F7.storage\u002F5.minio",{"title":147,"path":148,"stem":149},"Google Cloud Storage","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fgoogle-cloud-storage","docs\u002F2.installation\u002F7.storage\u002F6.google-cloud-storage",{"title":151,"path":152,"stem":153},"Backblaze B2","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fbackblaze-b2","docs\u002F2.installation\u002F7.storage\u002F7.backblaze-b2",{"title":155,"path":156,"stem":157},"Other S3-compatible services","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fother","docs\u002F2.installation\u002F7.storage\u002F8.other",{"title":159,"path":160,"stem":161},"Filesystem","\u002Fdocs\u002Finstallation\u002Fstorage\u002Ffilesystem","docs\u002F2.installation\u002F7.storage\u002F9.filesystem",{"title":163,"path":164,"stem":165},"Development","\u002Fdocs\u002Finstallation\u002Fdevelopment","docs\u002F2.installation\u002F8.development",{"title":167,"icon":168,"path":169,"stem":170,"children":171,"page":18},"Guides","i-lucide-book-open","\u002Fdocs\u002Fguides","docs\u002F3.guides",[172,176,180,254,296,300,303,307,311,315],{"title":173,"path":174,"stem":175},"Repositories","\u002Fdocs\u002Fguides\u002Frepositories","docs\u002F3.guides\u002F1.repositories",{"title":177,"path":178,"stem":179},"Replication","\u002Fdocs\u002Fguides\u002Freplication","docs\u002F3.guides\u002F10.replication",{"title":181,"icon":182,"path":183,"stem":184,"children":185,"page":18},"Package types","i-lucide-package","\u002Fdocs\u002Fguides\u002Fpackage-types","docs\u002F3.guides\u002F2.package-types",[186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250],{"title":187,"path":188,"stem":189},"npm, yarn and pnpm","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fnpm","docs\u002F3.guides\u002F2.package-types\u002F01.npm",{"title":191,"path":192,"stem":193},"Maven and Gradle","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fmaven-gradle","docs\u002F3.guides\u002F2.package-types\u002F02.maven-gradle",{"title":195,"path":196,"stem":197},"Docker and OCI","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fdocker","docs\u002F3.guides\u002F2.package-types\u002F03.docker",{"title":199,"path":200,"stem":201},"Go","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fgo","docs\u002F3.guides\u002F2.package-types\u002F04.go",{"title":203,"path":204,"stem":205},"PyPI","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fpypi","docs\u002F3.guides\u002F2.package-types\u002F05.pypi",{"title":207,"path":208,"stem":209},"Helm","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fhelm","docs\u002F3.guides\u002F2.package-types\u002F06.helm",{"title":211,"path":212,"stem":213},"NuGet","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fnuget","docs\u002F3.guides\u002F2.package-types\u002F07.nuget",{"title":215,"path":216,"stem":217},"RubyGems","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Frubygems","docs\u002F3.guides\u002F2.package-types\u002F08.rubygems",{"title":219,"path":220,"stem":221},"Cargo","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fcargo","docs\u002F3.guides\u002F2.package-types\u002F09.cargo",{"title":223,"path":224,"stem":225},"Conan","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fconan","docs\u002F3.guides\u002F2.package-types\u002F10.conan",{"title":227,"path":228,"stem":229},"Terraform and OpenTofu","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fterraform","docs\u002F3.guides\u002F2.package-types\u002F11.terraform",{"title":231,"path":232,"stem":233},"Hugging Face","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fhugging-face","docs\u002F3.guides\u002F2.package-types\u002F12.hugging-face",{"title":235,"path":236,"stem":237},"Generic files","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fgeneric","docs\u002F3.guides\u002F2.package-types\u002F13.generic",{"title":239,"path":240,"stem":241},"RPM","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Frpm","docs\u002F3.guides\u002F2.package-types\u002F14.rpm",{"title":243,"path":244,"stem":245},"Debian","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fdebian","docs\u002F3.guides\u002F2.package-types\u002F15.debian",{"title":247,"path":248,"stem":249},"Alpine","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Falpine","docs\u002F3.guides\u002F2.package-types\u002F16.alpine",{"title":251,"path":252,"stem":253},"Nix","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fnix","docs\u002F3.guides\u002F2.package-types\u002F17.nix",{"title":255,"icon":256,"path":257,"stem":258,"children":259,"page":18},"Security","i-lucide-shield","\u002Fdocs\u002Fguides\u002Fsecurity","docs\u002F3.guides\u002F3.security",[260,264,268,272,276,280,284,288,292],{"title":261,"path":262,"stem":263},"Permissions","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fpermissions","docs\u002F3.guides\u002F3.security\u002F1.permissions",{"title":265,"path":266,"stem":267},"LDAP","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fldap","docs\u002F3.guides\u002F3.security\u002F2.ldap",{"title":269,"path":270,"stem":271},"Access tokens","\u002Fdocs\u002Fguides\u002Fsecurity\u002Ftokens","docs\u002F3.guides\u002F3.security\u002F3.tokens",{"title":273,"path":274,"stem":275},"Relic Scan","\u002Fdocs\u002Fguides\u002Fsecurity\u002Frelic-scan","docs\u002F3.guides\u002F3.security\u002F4.relic-scan",{"title":277,"path":278,"stem":279},"CVE intelligence","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fcve-intelligence","docs\u002F3.guides\u002F3.security\u002F5.cve-intelligence",{"title":281,"path":282,"stem":283},"Audit log","\u002Fdocs\u002Fguides\u002Fsecurity\u002Faudit-log","docs\u002F3.guides\u002F3.security\u002F6.audit-log",{"title":285,"path":286,"stem":287},"Single sign-on","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fsingle-sign-on","docs\u002F3.guides\u002F3.security\u002F7.single-sign-on",{"title":289,"path":290,"stem":291},"SCIM provisioning","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fscim","docs\u002F3.guides\u002F3.security\u002F8.scim",{"title":293,"path":294,"stem":295},"Workload identities","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fworkload-identities","docs\u002F3.guides\u002F3.security\u002F9.workload-identities",{"title":297,"path":298,"stem":299},"Operations","\u002Fdocs\u002Fguides\u002Foperations","docs\u002F3.guides\u002F4.operations",{"title":105,"path":301,"stem":302},"\u002Fdocs\u002Fguides\u002Fmonitoring","docs\u002F3.guides\u002F5.monitoring",{"title":304,"path":305,"stem":306},"Metrics reference","\u002Fdocs\u002Fguides\u002Fmetrics-reference","docs\u002F3.guides\u002F6.metrics-reference",{"title":308,"path":309,"stem":310},"Webhooks","\u002Fdocs\u002Fguides\u002Fwebhooks","docs\u002F3.guides\u002F7.webhooks",{"title":312,"path":313,"stem":314},"Projects","\u002Fdocs\u002Fguides\u002Fprojects","docs\u002F3.guides\u002F8.projects",{"title":316,"path":317,"stem":318},"AI agents","\u002Fdocs\u002Fguides\u002Fai-agents","docs\u002F3.guides\u002F9.ai-agents",{"title":320,"icon":321,"path":322,"stem":323,"children":324,"page":18},"API","i-lucide-braces","\u002Fdocs\u002Fapi","docs\u002F4.api",[325,329],{"title":326,"path":327,"stem":328},"API usage","\u002Fdocs\u002Fapi\u002Foverview","docs\u002F4.api\u002F1.overview",{"title":330,"path":331,"stem":332},"Relic API","\u002Fdocs\u002Fapi\u002Frelic-api","docs\u002F4.api\u002F2.relic-api",{"title":334,"icon":31,"path":335,"stem":336,"children":337,"page":18},"CLI","\u002Fdocs\u002Fcli","docs\u002F5.cli",[338,341,345,349,353,357,361,365,369,373,377,381,385,389,393],{"title":5,"path":339,"stem":340},"\u002Fdocs\u002Fcli\u002Foverview","docs\u002F5.cli\u002F01.overview",{"title":342,"path":343,"stem":344},"Sign in and contexts","\u002Fdocs\u002Fcli\u002Fsign-in","docs\u002F5.cli\u002F02.sign-in",{"title":346,"path":347,"stem":348},"Resources","\u002Fdocs\u002Fcli\u002Fresources","docs\u002F5.cli\u002F03.resources",{"title":350,"path":351,"stem":352},"apply, diff and delete","\u002Fdocs\u002Fcli\u002Fapply","docs\u002F5.cli\u002F04.apply",{"title":354,"path":355,"stem":356},"Artifacts","\u002Fdocs\u002Fcli\u002Ffiles","docs\u002F5.cli\u002F05.files",{"title":358,"path":359,"stem":360},"Server, API and tokens","\u002Fdocs\u002Fcli\u002Fplatform","docs\u002F5.cli\u002F06.platform",{"title":362,"path":363,"stem":364},"Builds and images","\u002Fdocs\u002Fcli\u002Fbuilds","docs\u002F5.cli\u002F07.builds",{"title":366,"path":367,"stem":368},"Scanning and auditing","\u002Fdocs\u002Fcli\u002Fsecurity","docs\u002F5.cli\u002F08.security",{"title":370,"path":371,"stem":372},"Releases","\u002Fdocs\u002Fcli\u002Freleases","docs\u002F5.cli\u002F09.releases",{"title":374,"path":375,"stem":376},"Evidence","\u002Fdocs\u002Fcli\u002Fevidence","docs\u002F5.cli\u002F10.evidence",{"title":378,"path":379,"stem":380},"Package managers","\u002Fdocs\u002Fcli\u002Fpackage-managers","docs\u002F5.cli\u002F11.package-managers",{"title":382,"path":383,"stem":384},"Scan reports and VEX","\u002Fdocs\u002Fcli\u002Freports-and-vex","docs\u002F5.cli\u002F12.reports-and-vex",{"title":386,"path":387,"stem":388},"Migrating from Artifactory","\u002Fdocs\u002Fcli\u002Fimport","docs\u002F5.cli\u002F13.import",{"title":390,"path":391,"stem":392},"Database","\u002Fdocs\u002Fcli\u002Fdatabase","docs\u002F5.cli\u002F14.database",{"title":394,"path":395,"stem":396},"Machine setup","\u002Fdocs\u002Fcli\u002Fsetup","docs\u002F5.cli\u002F15.setup",{"title":398,"icon":399,"path":400,"stem":401,"children":402,"page":18},"SDK","i-lucide-boxes","\u002Fdocs\u002Fsdk","docs\u002F6.sdk",[403,406],{"title":5,"path":404,"stem":405},"\u002Fdocs\u002Fsdk\u002Foverview","docs\u002F6.sdk\u002F1.overview",{"title":407,"path":408,"stem":409},"Relic API clients","\u002Fdocs\u002Fsdk\u002Frelic-api-clients","docs\u002F6.sdk\u002F2.relic-api-clients",{"id":411,"title":308,"body":412,"description":999,"extension":1000,"links":1001,"meta":1002,"navigation":1003,"path":309,"seo":1004,"stem":310,"__hash__":1005},"docs\u002Fdocs\u002F3.guides\u002F7.webhooks.md",{"type":413,"value":414,"toc":994},"minimark",[415,419,427,430,514,520,525,532,754,773,777,788,792,804,921,924,947,953,971,974,990],[416,417,418],"p",{},"A webhook subscribes a URL to event types; the worker posts each event to the\nenabled webhooks subscribed to it. A delivery without a 2xx answer is retried,\nbacking off from 30 seconds to 32 minutes, 8 attempts in all. Deliveries are\nkept 30 days. Disabled webhooks get nothing.",[416,420,421,422,426],{},"For private addresses, set ",[423,424,425],"code",{},"RELIC_WEBHOOK_ALLOW_PRIVATE_ADDRESSES=true"," on the\nserver and the worker.",[416,428,429],{},"The URL cannot hold a user or password. Administrators see the whole URL; viewers see its\nscheme and host only, since webhook URLs often carry a token.",[431,432,433,446],"table",{},[434,435,436],"thead",{},[437,438,439,443],"tr",{},[440,441,442],"th",{},"Event",[440,444,445],{},"When",[447,448,449,460,470,480,490,500],"tbody",{},[437,450,451,457],{},[452,453,454],"td",{},[423,455,456],{},"artifact.deployed",[452,458,459],{},"a file is deployed to a local repository",[437,461,462,467],{},[452,463,464],{},[423,465,466],{},"artifact.deleted",[452,468,469],{},"a file or folder is deleted",[437,471,472,477],{},[452,473,474],{},[423,475,476],{},"scan.finished",[452,478,479],{},"a file was scanned",[437,481,482,487],{},[452,483,484],{},[423,485,486],{},"download.blocked",[452,488,489],{},"a download was blocked",[437,491,492,497],{},[452,493,494],{},[423,495,496],{},"release.promoted",[452,498,499],{},"a release version was promoted",[437,501,502,511],{},[452,503,504,507,508],{},[423,505,506],{},"quarantine.released",", ",[423,509,510],{},"quarantine.rejected",[452,512,513],{},"a quarantined file was decided on",[416,515,516,519],{},[423,517,518],{},"*"," subscribes to every event type.",[521,522,524],"h2",{"id":523},"payload","Payload",[416,526,527,528,531],{},"The ",[423,529,530],{},"json"," format posts the event:",[533,534,538],"pre",{"className":535,"code":536,"language":530,"meta":537,"style":537},"language-json shiki shiki-themes material-theme-lighter github-light-default github-dark-default","{\n  \"id\": \"0192f7a0-5d1e-7c3a-9b2f-6e4d8a1c0b7e\",\n  \"type\": \"artifact.deployed\",\n  \"subject\": \"libs-release\u002Forg\u002Facme\u002Fapp\u002F1.0\u002Fapp-1.0.jar\",\n  \"actor\": \"ci-bot\",\n  \"time\": \"2026-10-05T12:00:00Z\",\n  \"data\": {\"repository\": \"libs-release\", \"path\": \"org\u002Facme\u002Fapp\u002F1.0\u002Fapp-1.0.jar\", \"sha256\": \"…\", \"size\": 1024}\n}\n","",[423,539,540,549,579,599,620,641,662,749],{"__ignoreMap":537},[541,542,545],"span",{"class":543,"line":544},"line",1,[541,546,548],{"class":547},"sWneD","{\n",[541,550,552,556,560,563,566,570,574,576],{"class":543,"line":551},2,[541,553,555],{"class":554},"sK3rv","  \"",[541,557,559],{"class":558},"s10kg","id",[541,561,562],{"class":554},"\"",[541,564,565],{"class":547},":",[541,567,569],{"class":568},"sX5mu"," \"",[541,571,573],{"class":572},"sasMN","0192f7a0-5d1e-7c3a-9b2f-6e4d8a1c0b7e",[541,575,562],{"class":568},[541,577,578],{"class":547},",\n",[541,580,582,584,587,589,591,593,595,597],{"class":543,"line":581},3,[541,583,555],{"class":554},[541,585,586],{"class":558},"type",[541,588,562],{"class":554},[541,590,565],{"class":547},[541,592,569],{"class":568},[541,594,456],{"class":572},[541,596,562],{"class":568},[541,598,578],{"class":547},[541,600,602,604,607,609,611,613,616,618],{"class":543,"line":601},4,[541,603,555],{"class":554},[541,605,606],{"class":558},"subject",[541,608,562],{"class":554},[541,610,565],{"class":547},[541,612,569],{"class":568},[541,614,615],{"class":572},"libs-release\u002Forg\u002Facme\u002Fapp\u002F1.0\u002Fapp-1.0.jar",[541,617,562],{"class":568},[541,619,578],{"class":547},[541,621,623,625,628,630,632,634,637,639],{"class":543,"line":622},5,[541,624,555],{"class":554},[541,626,627],{"class":558},"actor",[541,629,562],{"class":554},[541,631,565],{"class":547},[541,633,569],{"class":568},[541,635,636],{"class":572},"ci-bot",[541,638,562],{"class":568},[541,640,578],{"class":547},[541,642,644,646,649,651,653,655,658,660],{"class":543,"line":643},6,[541,645,555],{"class":554},[541,647,648],{"class":558},"time",[541,650,562],{"class":554},[541,652,565],{"class":547},[541,654,569],{"class":568},[541,656,657],{"class":572},"2026-10-05T12:00:00Z",[541,659,562],{"class":568},[541,661,578],{"class":547},[541,663,665,667,670,672,674,677,679,683,685,687,689,692,694,697,699,702,704,706,708,711,713,715,717,720,722,724,726,729,731,733,735,738,740,742,746],{"class":543,"line":664},7,[541,666,555],{"class":554},[541,668,669],{"class":558},"data",[541,671,562],{"class":554},[541,673,565],{"class":547},[541,675,676],{"class":547}," {",[541,678,562],{"class":554},[541,680,682],{"class":681},"st6vK","repository",[541,684,562],{"class":554},[541,686,565],{"class":547},[541,688,569],{"class":568},[541,690,691],{"class":572},"libs-release",[541,693,562],{"class":568},[541,695,696],{"class":547},",",[541,698,569],{"class":554},[541,700,701],{"class":681},"path",[541,703,562],{"class":554},[541,705,565],{"class":547},[541,707,569],{"class":568},[541,709,710],{"class":572},"org\u002Facme\u002Fapp\u002F1.0\u002Fapp-1.0.jar",[541,712,562],{"class":568},[541,714,696],{"class":547},[541,716,569],{"class":554},[541,718,719],{"class":681},"sha256",[541,721,562],{"class":554},[541,723,565],{"class":547},[541,725,569],{"class":568},[541,727,728],{"class":572},"…",[541,730,562],{"class":568},[541,732,696],{"class":547},[541,734,569],{"class":554},[541,736,737],{"class":681},"size",[541,739,562],{"class":554},[541,741,565],{"class":547},[541,743,745],{"class":744},"sIO_5"," 1024",[541,747,748],{"class":547},"}\n",[541,750,752],{"class":543,"line":751},8,[541,753,748],{"class":547},[416,755,756,757,760,761,764,765,768,769,772],{},"Requests carry ",[423,758,759],{},"X-Relic-Event"," (the type) and ",[423,762,763],{},"X-Relic-Delivery"," (the id). The\n",[423,766,767],{},"slack"," format posts ",[423,770,771],{},"{\"text\": …}"," to a Slack incoming webhook.",[521,774,776],{"id":775},"signatures","Signatures",[416,778,779,780,783,784,787],{},"With a secret, ",[423,781,782],{},"X-Relic-Signature"," is ",[423,785,786],{},"sha256="," and the hex HMAC-SHA256 of the\nbody. Compare it with your own in constant time.",[521,789,791],{"id":790},"managing-webhooks","Managing webhooks",[416,793,794,795,799,800,803],{},"Manage webhooks in ",[796,797,798],"strong",{},"Administration → Webhooks",", or as ",[423,801,802],{},"relic.build\u002Fv1","\nresources:",[533,805,809],{"className":806,"code":807,"language":808,"meta":537,"style":537},"language-yaml shiki shiki-themes material-theme-lighter github-light-default github-dark-default","apiVersion: relic.build\u002Fv1\nkind: Webhook\nmetadata: {name: ci-notify}\nspec:\n  url: https:\u002F\u002Fci.example.com\u002Fhooks\u002Frelic\n  events: [artifact.deployed, release.promoted]\n  format: json\n  enabled: true\n  secret: change-me\n","yaml",[423,810,811,822,832,851,859,869,889,899,910],{"__ignoreMap":537},[541,812,813,817,819],{"class":543,"line":544},[541,814,816],{"class":815},"smKOL","apiVersion",[541,818,565],{"class":547},[541,820,821],{"class":572}," relic.build\u002Fv1\n",[541,823,824,827,829],{"class":543,"line":551},[541,825,826],{"class":815},"kind",[541,828,565],{"class":547},[541,830,831],{"class":572}," Webhook\n",[541,833,834,837,839,841,844,846,849],{"class":543,"line":581},[541,835,836],{"class":815},"metadata",[541,838,565],{"class":547},[541,840,676],{"class":547},[541,842,843],{"class":815},"name",[541,845,565],{"class":547},[541,847,848],{"class":572}," ci-notify",[541,850,748],{"class":547},[541,852,853,856],{"class":543,"line":601},[541,854,855],{"class":815},"spec",[541,857,858],{"class":547},":\n",[541,860,861,864,866],{"class":543,"line":622},[541,862,863],{"class":815},"  url",[541,865,565],{"class":547},[541,867,868],{"class":572}," https:\u002F\u002Fci.example.com\u002Fhooks\u002Frelic\n",[541,870,871,874,876,879,881,883,886],{"class":543,"line":643},[541,872,873],{"class":815},"  events",[541,875,565],{"class":547},[541,877,878],{"class":547}," [",[541,880,456],{"class":572},[541,882,696],{"class":547},[541,884,885],{"class":572}," release.promoted",[541,887,888],{"class":547},"]\n",[541,890,891,894,896],{"class":543,"line":664},[541,892,893],{"class":815},"  format",[541,895,565],{"class":547},[541,897,898],{"class":572}," json\n",[541,900,901,904,906],{"class":543,"line":751},[541,902,903],{"class":815},"  enabled",[541,905,565],{"class":547},[541,907,909],{"class":908},"sH4kE"," true\n",[541,911,913,916,918],{"class":543,"line":912},9,[541,914,915],{"class":815},"  secret",[541,917,565],{"class":547},[541,919,920],{"class":572}," change-me\n",[416,922,923],{},"Apply the file:",[533,925,929],{"className":926,"code":927,"language":928,"meta":537,"style":537},"language-bash shiki shiki-themes material-theme-lighter github-light-default github-dark-default","relic apply -f webhooks.yaml\n","bash",[423,930,931],{"__ignoreMap":537},[541,932,933,937,940,944],{"class":543,"line":544},[541,934,936],{"class":935},"seIyd","relic",[541,938,939],{"class":572}," apply",[541,941,943],{"class":942},"smky3"," -f",[541,945,946],{"class":572}," webhooks.yaml\n",[416,948,949,950,565],{},"Send a test ",[423,951,952],{},"webhook.ping",[533,954,956],{"className":926,"code":955,"language":928,"meta":537,"style":537},"relic webhook ping ci-notify\n",[423,957,958],{"__ignoreMap":537},[541,959,960,962,965,968],{"class":543,"line":544},[541,961,936],{"class":935},[541,963,964],{"class":572}," webhook",[541,966,967],{"class":572}," ping",[541,969,970],{"class":572}," ci-notify\n",[416,972,973],{},"List the latest deliveries:",[533,975,977],{"className":926,"code":976,"language":928,"meta":537,"style":537},"relic webhook deliveries ci-notify\n",[423,978,979],{"__ignoreMap":537},[541,980,981,983,985,988],{"class":543,"line":544},[541,982,936],{"class":935},[541,984,964],{"class":572},[541,986,987],{"class":572}," deliveries",[541,989,970],{"class":572},[991,992,993],"style",{},"html pre.shiki code .smKOL, html code.shiki .smKOL{--shiki-light:#E53935;--shiki-default:#116329;--shiki-dark:#7EE787}html pre.shiki code .sWneD, html code.shiki .sWneD{--shiki-light:#39ADB5;--shiki-default:#1F2328;--shiki-dark:#E6EDF3}html pre.shiki code .sasMN, html code.shiki .sasMN{--shiki-light:#91B859;--shiki-default:#0A3069;--shiki-dark:#A5D6FF}html pre.shiki code .sH4kE, html code.shiki .sH4kE{--shiki-light:#FF5370;--shiki-default:#0550AE;--shiki-dark:#79C0FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .seIyd, html code.shiki .seIyd{--shiki-light:#E2931D;--shiki-default:#953800;--shiki-dark:#FFA657}html pre.shiki code .smky3, html code.shiki .smky3{--shiki-light:#91B859;--shiki-default:#0550AE;--shiki-dark:#79C0FF}html pre.shiki code .sK3rv, html code.shiki .sK3rv{--shiki-light:#39ADB5;--shiki-default:#116329;--shiki-dark:#7EE787}html pre.shiki code .s10kg, html code.shiki .s10kg{--shiki-light:#9C3EDA;--shiki-default:#116329;--shiki-dark:#7EE787}html pre.shiki code .sX5mu, html code.shiki .sX5mu{--shiki-light:#39ADB5;--shiki-default:#0A3069;--shiki-dark:#A5D6FF}html pre.shiki code .st6vK, html code.shiki .st6vK{--shiki-light:#E2931D;--shiki-default:#116329;--shiki-dark:#7EE787}html pre.shiki code .sIO_5, html code.shiki .sIO_5{--shiki-light:#F76D47;--shiki-default:#0550AE;--shiki-dark:#79C0FF}",{"title":537,"searchDepth":551,"depth":551,"links":995},[996,997,998],{"id":523,"depth":551,"text":524},{"id":775,"depth":551,"text":776},{"id":790,"depth":551,"text":791},"Post Relic's events, such as deploys, scans and promotions, to CI, chat and other services.","md",null,{},true,{"title":308,"description":999},"7T1r2GN6Xp5sVBlaSAfGWAxBJZSYLlGDuNYvaTP9S5Y",[1007,1009],{"title":304,"path":305,"stem":306,"description":1008,"children":-1},"Every series Relic exports on its metrics port, with its labels.",{"title":312,"path":313,"stem":314,"description":1010,"children":-1},"Group repositories into projects, with members in roles and a storage quota.",1793857338360]