Skip to main content

How to ask for help on Slack

The Pact maintainers and our band of experienced community members love helping you learn how to use Pact! ❤️

Please remember that while you might be learning how to use Pact as part of your paid job, the maintainers and community are helping you in their free time. You can show respect for them and get an answer more quickly by following these steps when you have a question.

1. Search this docs site first

In the top right of this page, you'll find the search tool (provided free by Algolia!) - it's quicker than waiting for a human to respond. Many of the maintainers live in Australia, and are often asleep when most of the questions get asked.

If you're trying to learn how to use Pact, check out our Getting started section. If you're trying to learn how to use Pact well, check out our Guides. If you're trying to learn how to use Pact in a particular language, check out our implementation docs.

2. Search on Slack.

We're on a free plan, so we don't have unlimited history, however, you may be able to find the answer to your question in our archive at https://docs.pact.io/slack.

3. Find the appropriate Slack channel for your question

If you can't find your answer on the docs site or Slack, then ask your question on Slack (signup|login). If it's a general question about Pact theory or best practice, then feel free to ask it in the #general channel. For questions related to a particular language, please ask in the channel that relates to that language (eg. #pact-jvm, #pact-js). If you're new to the Slack workspace, you can browse the available channels by clicking on the + icon next to the Channels heading on the sidebar.

4. Ask a good question!

Imagine you were one of the people reading your question, and ask yourself if you have provided them with enough information to give you a helpful answer. For technical issues, have you provided:

  • A brief description of what you're trying to achieve, what your expected outcome is, and what the actual behaviour is.
  • The relevant language and versions of the software you are using.
  • Details of the environment you're using (Mac/Window/Linux, Docker).
  • Example code.
  • Any relevant logs.

If you're trying to demonstrate a problem or diagnose a bug, the best possible thing you can do is provide a minimal reproducible example that doesn't contain any organisational confidential information.

Please remember

  • Please do not direct message a maintainer (or anyone else) with a question unless specifically invited to. Asking questions in public channels allows more people to answer and learn from your questions and grow our community. Helping people takes a lot of time and effort - often during personal hours - and contributors should have the autonomy to choose when they contribute to a discussion. As a policy, most maintainers will simply ignore an unsolicited DM for these reasons.

  • The people who might be able to help you are often viewing your questions on their phones. Large slabs of unformatted text are hard to read. Please only supply the relevant text, and add three backticks (eg. ```) at the start and end so that it formats correctly. For large pieces of code please create a snippet.

  • We are not a general purpose help desk! Using Pact requires:

    • strong development skills (writing code, using IDEs and text editors, operating command line tools)
    • a good understanding of how the APIs under test are implemented
    • understanding how to write, execute and debug unit tests
    • understanding how to use CI/CD software and build release pipelines

    While we will do our best to point you in the right direction, if you do not have these skills, we cannot teach you over Slack. Please find someone in your own company or the relevant technology community to assist you in these areas.

  • Please consider slack a public forum and be careful with what you post (e.g. API tokens).

Thank you,

The Pact maintainers and community helpers 🙏