{
    "componentChunkName": "component---src-templates-plugin-tsx",
    "path": "/plugins/scm-pushevent-plugin",
    "result": {"data":{"plugin":{"name":"scm-pushevent-plugin","displayName":"Push Event","description":"Whenever a push event occours, this Plugin sends meta information about the push (modified files, commit messages, touched branches etc.) to a REST endpoint."},"readme":{"html":"<p align=\"center\">\n  <a href=\"https://www.scm-manager.org/\">\n    <img alt=\"SCM-Manager\" src=\"https://download.scm-manager.org/images/logo/scm-manager_logo.png\" width=\"500\">\n  </a>\n</p>\n<h1 align=\"center\">\n   push event plugin\n</h1>\n<p>This plugin sends data to an endpoint every time a push is received in any repository.\nFor this purpose a request is formed which contains meta information about the push as payload.</p>\n<h2 id=\"usage\" style=\"position:relative;\"><a href=\"#usage\" aria-label=\"usage permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Usage</h2>\n<p>The requests are sent via PUT to the relative URL <code class=\"language-text\">/events/&lt;id></code>.\nThe sending of requests is disabled by default (see section Configuration below).\nNo information is transmitted about WHAT has changed, only which files have been touched and by whom.\nThe structure of the sent data is as follows:</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"application\"</span><span class=\"token operator\">:</span><span class=\"token string\">\"scmm\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span><span class=\"token string\">\"push\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span><span class=\"token string\">\"29192626-9a2f-11ec-b909-0242ac120002\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"time\"</span><span class=\"token operator\">:</span><span class=\"token string\">\"1646228770\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"data\"</span><span class=\"token operator\">:</span><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"repositoryId\"</span><span class=\"token operator\">:</span><span class=\"token string\">\"2TSuOPqwJ3\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"repositoryName\"</span><span class=\"token operator\">:</span><span class=\"token string\">\"testrepo\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"repositoryNamespace\"</span><span class=\"token operator\">:</span><span class=\"token string\">\"scmadmin\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"user\"</span><span class=\"token operator\">:</span><span class=\"token string\">\"scmuser\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"datePushed\"</span><span class=\"token operator\">:</span><span class=\"token number\">1642075169000</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"commits\"</span><span class=\"token operator\">:</span><span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"commitId\"</span><span class=\"token operator\">:</span><span class=\"token string\">\"d1a59c1ff4b90396f9d8913860a639ddbeeb9c16\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"message\"</span><span class=\"token operator\">:</span><span class=\"token string\">\"Init repo this is the first commit message\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"fileChanges\"</span><span class=\"token operator\">:</span><span class=\"token punctuation\">{</span>\n          <span class=\"token property\">\"added\"</span><span class=\"token operator\">:</span><span class=\"token punctuation\">[</span>\n            <span class=\"token string\">\"docker-compose.yml\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token string\">\"index.html\"</span>\n          <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"removed\"</span><span class=\"token operator\">:</span><span class=\"token punctuation\">[</span>\n            <span class=\"token string\">\"old.js\"</span>\n          <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"modified\"</span><span class=\"token operator\">:</span><span class=\"token punctuation\">[</span>\n\n          <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"moved\"</span><span class=\"token operator\">:</span><span class=\"token punctuation\">[</span>\n\n          <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"copied\"</span><span class=\"token operator\">:</span><span class=\"token punctuation\">[</span>\n\n          <span class=\"token punctuation\">]</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"dateCommitted\"</span><span class=\"token operator\">:</span><span class=\"token number\">1642075169000</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"author\"</span><span class=\"token operator\">:</span><span class=\"token string\">\"developer_1\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"branches\"</span><span class=\"token operator\">:</span><span class=\"token punctuation\">[</span>\n          <span class=\"token string\">\"master\"</span>\n        <span class=\"token punctuation\">]</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">]</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h3 id=\"what-can-i-do-with-this-data\" style=\"position:relative;\"><a href=\"#what-can-i-do-with-this-data\" aria-label=\"what can i do with this data permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>What can I do with this data?</h3>\n<p>The data is used, for example, in a gameification service of Cloudogu GmbH, which awards archivements and points for previously defined challenges.\nOtherwise, it is up to your free imagination what you do with it.</p>\n<h2 id=\"configuration\" style=\"position:relative;\"><a href=\"#configuration\" aria-label=\"configuration permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Configuration</h2>\n<p>There are three main setting options. Firstly, the endpoint against which data is sent can be configured.\nThe entered URL is extended with <code class=\"language-text\">events/&lt;id></code>. For example, the entered endpoint <code class=\"language-text\">https://www.my-service.com/</code> becomes <code class=\"language-text\">https://www.my-service.com/events/213sfduj132asd1</code>.</p>\n<p>The second setting option is a JWT token. This can be used to authenticate the requests to the endpoint.\nThe token is set as header field <code class=\"language-text\">Authentification: Bearer &lt;token></code>.</p>\n<p>The last configuration option is the toggle <code class=\"language-text\">active</code> which controls if the plugin should send data. This option is default <b>OFF</b>  so as not to clog network traffic.</p>\n<h2 id=\"build-and-testing\" style=\"position:relative;\"><a href=\"#build-and-testing\" aria-label=\"build and testing permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Build and testing</h2>\n<p>The plugin can be compiled and packaged with the following tasks:</p>\n<ul>\n<li>clean - <code class=\"language-text\">gradle clean</code> - deletes the build directory</li>\n<li>run - <code class=\"language-text\">gradle run</code> - starts an SCM-Manager with the plugin pre-installed and with livereload for the ui</li>\n<li>build - <code class=\"language-text\">gradle build</code> - executes all checks, tests and builds the smp inclusive javadoc and source jar</li>\n<li>test - <code class=\"language-text\">gradle test</code> - run all java tests</li>\n<li>ui-test - <code class=\"language-text\">gradle ui-test</code> - run all ui tests</li>\n<li>check - <code class=\"language-text\">gradle check</code> - executes all registered checks and tests (java and ui)</li>\n<li>fix - <code class=\"language-text\">gradle fix</code> - fixes all fixable findings of the check task</li>\n<li>smp - <code class=\"language-text\">gradle smp</code> - Builds the smp file, without the execution of checks and tests</li>\n</ul>\n<p>For the development and testing the <code class=\"language-text\">run</code> task of the plugin can be used:</p>\n<ul>\n<li>run - <code class=\"language-text\">gradle run</code> - starts scm-manager with the plugin pre-installed.</li>\n</ul>\n<p>If the plugin was started with <code class=\"language-text\">gradle run</code>, the default browser of the os should be automatically opened.\nIf the browser does not start automatically, start it manually and go to <a href=\"http://localhost:8081/scm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">http://localhost:8081/scm</a>.</p>\n<p>In this mode each change to web files (src/main/js or src/main/webapp), should trigger reload of the browser with the made changes.</p>\n<h2 id=\"directory--file-structure\" style=\"position:relative;\"><a href=\"#directory--file-structure\" aria-label=\"directory  file structure permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Directory &#x26; File structure</h2>\n<p>A quick look at the files and directories you'll see in an SCM-Manager project.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">.\n├── node_modules/\n├── src/\n|   ├── main/\n|   |   ├── java/\n|   |   ├── js/\n|   |   └── resources/\n|   └── test/\n|       ├── java/\n|       └── resources/\n├── .editorconfig\n├── .gitignore\n├── build.gradle\n├── CHANGELOG.md\n├── gradle.properties\n├── gradlew\n├── LICENSE.txt\n├── package.json\n├── README.md\n├── settings.gradle\n├── tsconfig.json\n└── yarn.lock</code></pre></div>\n<ol>\n<li>\n<p><strong><code class=\"language-text\">node_modules/</code></strong>: This directory contains all modules of code that your project depends on (npm packages) are automatically installed.</p>\n</li>\n<li>\n<p><strong><code class=\"language-text\">src/</code></strong>: This directory will contain all code related to what you see or not. <code class=\"language-text\">src</code> is a convention for “source code”.</p>\n<ol>\n<li><strong><code class=\"language-text\">main/</code></strong>\n<ol>\n<li><strong><code class=\"language-text\">java/</code></strong>: This directory contains the Java code.</li>\n<li><strong><code class=\"language-text\">js/</code></strong>: This directory contains the JavaScript code for the web ui, inclusive unit tests: suffixed with <code class=\"language-text\">.test.ts</code></li>\n<li><strong><code class=\"language-text\">resources/</code></strong>: This directory contains the classpath resources.</li>\n</ol>\n</li>\n<li><strong><code class=\"language-text\">test/</code></strong>\n<ol>\n<li><strong><code class=\"language-text\">java/</code></strong>: This directory contains the Java unit tests.</li>\n<li><strong><code class=\"language-text\">resources/</code></strong>: This directory contains classpath resources for unit tests.</li>\n</ol>\n</li>\n</ol>\n</li>\n<li>\n<p><strong><code class=\"language-text\">.editorconfig</code></strong>: This is a configuration file for your editor using <a href=\"https://editorconfig.org/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">EditorConfig</a>. The file specifies a style that IDEs use for code.</p>\n</li>\n<li>\n<p><strong><code class=\"language-text\">.gitignore</code></strong>: This file tells git which files it should not track / not maintain a version history for.</p>\n</li>\n<li>\n<p><strong><code class=\"language-text\">build.gradle</code></strong>: Gradle build configuration, which also includes things like metadata.</p>\n</li>\n<li>\n<p><strong><code class=\"language-text\">CHANGELOG.md</code></strong>: All notable changes to this project will be documented in this file.</p>\n</li>\n<li>\n<p><strong><code class=\"language-text\">gradle.properties</code></strong>: Defines the module version.</p>\n</li>\n<li>\n<p><strong><code class=\"language-text\">gradlew</code></strong>: Bundled gradle wrapper if you don't have gradle installed.</p>\n</li>\n<li>\n<p><strong><code class=\"language-text\">LICENSE.txt</code></strong>: This project is licensed under the MIT license.</p>\n</li>\n<li>\n<p><strong><code class=\"language-text\">package.json</code></strong>: Here you can find the dependency/build configuration and dependencies for the frontend.</p>\n</li>\n<li>\n<p><strong><code class=\"language-text\">README.md</code></strong>: This file, containing useful reference information about the project.</p>\n</li>\n<li>\n<p><strong><code class=\"language-text\">settings.gradle</code></strong>: Gradle settings configuration.</p>\n</li>\n<li>\n<p><strong><code class=\"language-text\">tsconfig.json</code></strong> This is the typescript configuration file.</p>\n</li>\n<li>\n<p><strong><code class=\"language-text\">yarn.lock</code></strong>: This is the ui dependency configuration.</p>\n</li>\n</ol>\n<h2 id=\"need-help\" style=\"position:relative;\"><a href=\"#need-help\" aria-label=\"need help permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Need help?</h2>\n<p>Looking for more guidance? Full documentation lives on our <a href=\"https://www.scm-manager.org/docs/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">homepage</a> or the dedicated pages for our <a href=\"https://www.scm-manager.org/plugins/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">plugins</a>. Do you have further ideas or need support?</p>\n<ul>\n<li><strong>Community Support</strong> - Contact the SCM-Manager support team for questions about SCM-Manager, to report bugs or to request features through the official channels. <a href=\"https://www.scm-manager.org/support/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Find more about this here</a>.</li>\n</ul>"}},"pageContext":{"name":"scm-pushevent-plugin"}},
    "staticQueryHashes": ["1973669194","2742214048","2956773653"]}