GitHub is a collaborative platform
Collaboration is at the heart of everything GitHub does.
In the first unit of this module, we covered repositories and learned that they help organize your project and its files. In the last unit, we explored pull requests, which allow you to track changes made to your project.
In this unit, we’ll learn about issues and discussions. These are two other elements that contribute to the collaborative nature of the GitHub Enterprise platform.
Issues
GitHub issues were created to track ideas, feedback, tasks, or bugs related to work on GitHub. They can be created in different ways, allowing you to choose the most convenient method for your workflow.
In this guide, we’ll look at how to create an issue from a repository. But issues can also be created from:
- An item in a task list
- A note in a project
- A comment in an issue or a pull request
- A specific line of code
- A URL request
Create an issue from a repository
On GitHub.com, go to the main page of the repository.
Under the name of your repository, select Issues.

Select “New issue.”
If your repository uses issue templates, next to the type of issue you want to open, select “Get started.”
If the type of issue you want to open is not among the available options, select “Open a blank issue.”
If you are not using templates, skip directly to step 5.

In the “Add a title” field, enter a title for your issue.
In the “Add a description” field, type a description of your issue.
If you are the project owner, you can assign the issue to someone, add it to a project board, link it to a milestone, or apply a label.
When you’re done, select “Submit new issue.”
Some conversations are better suited for GitHub Discussions. You can use Discussions to ask and answer questions, share information, make announcements, and participate in project-related conversations.
In the next section, we’ll explore Discussions and how to make the most of this feature.
Discussions
Discussions are intended for conversations that should be accessible to everyone and are not directly related to code. They allow open and fluid exchanges in a public forum.
In this section, we’ll cover:
- How to enable Discussions in your repository
- How to create a new discussion and the different available categories
Enable Discussions in your repository
Repository owners and users with write access can enable GitHub Discussions for a community, whether on public or private repositories. The visibility of a discussion depends on the repository in which it is created.
When you enable GitHub Discussions for the first time, you’ll be prompted to set up a welcome message.
On GitHub.com, go to the main page of the repository.
Under the name of your repository, select Settings.

Scroll down to the Features section and, under Discussions, select Set up Discussions.

Under “Start a new discussion”, edit the template so that it matches the resources and tone you want to set for your community.
Select “Start discussion.”
You are now ready to create a new discussion.
Create a new discussion
Any authenticated user who can view the repository can create a discussion in that repository. Likewise, since an organization’s discussions are based on a source repository, any authenticated user who can view the source repository can create a discussion in that organization.
On GitHub.com, go to the main page of the repository or organization where you want to start a discussion.
Under the name of your repository or organization, select Discussions.

On the right side of the page, select “New discussion.”
Choose a discussion category by clicking “Get started.”
All discussions must be created within a category.
For repository discussions, users with maintainer or administrator permissions define the discussion categories in that repository.

Each category must have a unique name, an associated emoji, and a detailed description indicating its purpose.
Categories help maintainers organize how conversations are classified.
They are customizable to distinguish, for example, Q&A-type categories from more open discussions.
The table below shows the default categories for discussions and their purpose:
| Category | Purpose | Format |
|---|---|---|
| 📣 Announcements | Updates and news from project maintainers | Announcement |
| #️⃣ General | Anything relevant to the project | Open discussion |
| 💡 Ideas | Ideas for changing or improving the project | Open discussion |
| 🗳️ Polls | Polls with multiple options for the community to vote and discuss | Poll |
| 🙏 Q&A | Questions for the community to answer, in a Q&A format | Question and answer |
| 🙌 Show and Tell | Creations, experiences, or tests related to the project | Open discussion |
Under “Discussion title”, enter a title for your discussion,
and under “Write”, enter the content of your discussion.

Select “Start discussion.”
This concludes a brief overview of how GitHub promotes collaboration.
Next, we’ll move on to managing notifications, subscribing to discussion threads, and getting started with GitHub Pages.