<!DOCTYPE html>
<html class="no-js" lang="en">
    <head>
        <title>Apache NiFi Mailing Lists</title>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <link rel="shortcut icon" href="/assets/images/nifi16.ico"/>
        <link rel="stylesheet" href="/stylesheets/app.min.92da7048339401bf53463b01188254399d9c8a2138949712827fee24e79c12e4.css">
        <link rel="stylesheet" href="/assets/stylesheets/font-awesome.min.css">
        <script src="/assets/js/modernizr.js"></script>
        <script src="/assets/js/webfontloader.js"></script>
        <script>
  var _paq = window._paq = window._paq || [];
  _paq.push(['disableCookies']);
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var baseUri = "//matomo.privacy.apache.org/";
    _paq.push(['setTrackerUrl', baseUri + 'matomo.php']);
    _paq.push(['setSiteId', '28']);
    var trackerElement = document.createElement('script');
    var firstScriptElement = document.getElementsByTagName('script')[0];
    trackerElement.async = true;
    trackerElement.src = baseUri + 'matomo.js';
    var firstScriptElement = document.getElementsByTagName('script')[0];
    if (window.location.host === 'nifi.apache.org') {
      firstScriptElement.parentNode.insertBefore(trackerElement, firstScriptElement);
    }
  })();
</script>
</head>
    <body><div class="sticky contain-to-grid">
    <nav class="top-bar" data-topbar role="navigation">
        <ul class="title-area">
            <li class="name">
                <h1>
                    <a href="index.html">
                        <img id="logo-top-bar" src="/assets/images/nifi-drop-white.svg" alt="Apache NiFi"/>
                    </a>
                </h1>
            </li>
            
            <li class="toggle-topbar menu-icon"><a href="#"><span></span></a></li>
        </ul>

        <section class="top-bar-section">
            
            <ul class="right">
                <li class="has-dropdown">
                    <a href="#">Project</a>
                    <ul class="dropdown">
                        <li><a href="index.html">Home</a></li>
                        <li><a href="https://blogs.apache.org/nifi/"><i class="fa fa-external-link external-link"></i>Apache NiFi Blog</a></li>
                        <li><a href="https://www.apache.org/licenses/"><i class="fa fa-external-link external-link"></i>License</a></li>
                    </ul>
                </li>
                <li class="has-dropdown">
                    <a href="#">Documentation</a>
                    <ul class="dropdown">
                        <li><a href="faq.html">FAQ</a></li>
                        <li><a href="videos.html">Videos</a></li>
                        <li><a href="docs.html">NiFi Docs</a></li>
                        <li><a href="https://cwiki.apache.org/confluence/display/NIFI"><i class="fa fa-external-link external-link"></i>Wiki</a></li>
                        <li><a href="security.html">NiFi Security Reports</a></li>
                        <li><a href="registry-security.html">NiFi Registry Security Reports</a></li>
                    </ul>
                </li>
                <li class="has-dropdown">
                    <a href="#">Downloads</a>
                    <ul class="dropdown">
                        <li><a href="download.html">Download NiFi</a></li>
                        <li><a href="https://cwiki.apache.org/confluence/display/NIFI/Release+Notes"><i class="fa fa-external-link external-link"></i>Release Notes</a></li>
                    </ul>
                </li>
                <li class="has-dropdown">
                    <a href="#">Community</a>
                    <ul class="dropdown">
                        <li><a href="https://cwiki.apache.org/confluence/display/NIFI/Contributor+Guide"><i class="fa fa-external-link external-link"></i>Contributor Guide</a></li>
                        <li><a href="mailing_lists.html">Mailing Lists &amp; Chat</a></li>
                        <li><a href="people.html">People</a></li>
                        <li><a href="powered-by-nifi.html">Powered by NiFi</a></li>
                    </ul>
                </li>
                <li class="has-dropdown">
                    <a href="#">Development</a>
                    <ul class="dropdown">
                        <li><a href="quickstart.html">Quickstart</a></li>
                        <li><a href="release-guide.html">Release Guide</a></li>
                        <li><a href="gpg.html">GPG Guide</a></li>
                        <li><a href="fds-release-guide.html">FDS Release Guide</a></li>
                        <li><a href="licensing-guide.html">Licensing Guide</a></li>
                        <li><a href="developer-guide.html">Developer Guide</a></li>
                        <li><a href="https://gitbox.apache.org/repos/asf/nifi.git"><i class="fa fa-external-link external-link"></i>Source</a></li>
                        <li><a href="https://issues.apache.org/jira/browse/NIFI"><i class="fa fa-external-link external-link"></i>Issues</a></li>
                        <li><a href="https://github.com/apache/nifi"><i class="fa fa-external-link external-link"></i>GitHub</a></li>
                    </ul>
                </li>
                <li class="has-dropdown">
                    <a href="#">ASF Links</a>
                    <ul class="dropdown">
                        <li><a href="https://www.apache.org"><i class="fa fa-external-link external-link"></i>Apache Software Foundation</a></li>
                        <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html"><i class="fa fa-external-link external-link"></i>Privacy Policy</a></li>
                        <li><a href="https://www.apache.org/foundation/sponsorship.html"><i class="fa fa-external-link external-link"></i>Sponsorship</a></li>
                        <li><a href="https://www.apache.org/security/"><i class="fa fa-external-link external-link"></i>Security</a></li>
                        <li><a href="https://www.apache.org/foundation/thanks.html"><i class="fa fa-external-link external-link"></i>Thanks</a></li>
                    </ul>
                </li>
                <li class="has-dropdown">
                    <a href="#">Subprojects</a>
                    <ul class="dropdown">
                        <li><a href="minifi/index.html">MiNiFi</a></li>
                        <li><a href="registry.html">Registry</a></li>
                        <li><a href="fds.html">FDS</a></li>
                    </ul>
                </li>
            </ul>
        </section>
    </nav>
</div>

          <div class="row">
            <div class="large-12 columns">
              <div class="large-space"></div>
	<h1 id="apache-hahahugoshortcode-s0-hbhb-mailing-lists">Apache <span class="ni">ni</span><span class="fi">fi</span>
 Mailing Lists</h1>
<p>See the <a href="http://apache.org/foundation/mailinglists.html">Apache Software Foundation Mailing List Tips</a> for
recommendations on how to interact with the community.</p>
<h2 id="users-mailing-list">Users Mailing List</h2>
<p>List for getting help, asking questions, and reporting problems.</p>
<ul>
<li><a href="mailto:users-subscribe@nifi.apache.org">Subscribe</a></li>
<li><a href="mailto:users-unsubscribe@nifi.apache.org">Unsubscribe</a></li>
<li><a href="mailto:users@nifi.apache.org">Send</a></li>
<li><a href="https://lists.apache.org/list.html?users@nifi.apache.org">Archives</a></li>
</ul>
<h2 id="developers-mailing-list">Developers Mailing List</h2>
<p>List for committers and contributors to discuss features, bugs, ideas, and releases.</p>
<ul>
<li><a href="mailto:dev-subscribe@nifi.apache.org">Subscribe</a></li>
<li><a href="mailto:dev-unsubscribe@nifi.apache.org">Unsubscribe</a></li>
<li><a href="mailto:dev@nifi.apache.org">Send</a></li>
<li><a href="https://lists.apache.org/list.html?dev@nifi.apache.org">Archives</a></li>
</ul>
<h2 id="commits-mailing-list">Commits Mailing List</h2>
<p>List for receiving automated notification of source code changes.</p>
<ul>
<li><a href="mailto:commits-subscribe@nifi.apache.org">Subscribe</a></li>
<li><a href="mailto:commits-unsubscribe@nifi.apache.org">Unsubscribe</a></li>
<li><a href="https://lists.apache.org/list.html?commits@nifi.apache.org">Archives</a></li>
</ul>
<h2 id="issues-mailing-list">Issues Mailing List</h2>
<p>List for receiving automated notification of issues or comments from Jira or GitHub.</p>
<ul>
<li><a href="mailto:issues-subscribe@nifi.apache.org">Subscribe</a></li>
<li><a href="mailto:issues-unsubscribe@nifi.apache.org">Unsubscribe</a></li>
<li><a href="https://lists.apache.org/list.html?issues@nifi.apache.org">Archives</a></li>
</ul>
<h2 id="security-mailing-list">Security Mailing List</h2>
<p>Private list for reporting potential security issues.
See <a href="https://nifi.apache.org/security.html">Apache NiFi Security Reporting</a> for more details.</p>
<ul>
<li><a href="mailto:security@nifi.apache.org">Send</a></li>
</ul>
<h1 id="apache-hahahugoshortcode-s2-hbhb-chat">Apache <span class="ni">ni</span><span class="fi">fi</span>
 Chat</h1>
<ul>
<li><a href="https://apachenifi.slack.com/">Apache NiFi on Slack</a></li>
<li>New users can join the workspace using the <a href="https://join.slack.com/t/apachenifi/shared_invite/zt-11njbtkdx-ZRU8FKYSWoEHRJetidy0zA">invitation link</a></li>
</ul>

</div>
          </div>
        <div class="row">
    <div class="large-12 columns footer">
        <a href="https://www.apache.org">
            <img id="asf-logo" alt="Apache Software Foundation" src="/assets/images/asf_logo.png" width="200" style="margin:0px 10px" />
        </a>
        <a  href="https://www.apache.org/events/current-event.html">
            <img src="https://www.apache.org/events/current-event-234x60.png" style="margin:0px 10px" />
        </a>
        <div id="copyright">
            <p>Copyright &#169; 2022 The Apache Software Foundation, Licensed under the <a
                    href="https://www.apache.org/licenses/">Apache License, Version 2.0</a>.<br/>Apache, the
                Apache feather logo, NiFi, Apache NiFi and the project logo are trademarks of The Apache Software
                Foundation.</p>
        </div>
    </div>
</div>
        <script src="/assets/js/jquery.min.js"></script>
        <script src="/assets/js/foundation.js"></script>
        <script src="/assets/js/app.js"></script>
    </body>
</html>