In this hands-on lab you will practice to work with GitHub Issues, Discussions, and Pages. You will practice working with markdown, learn about issue templates and rendering markdown as a web page. The lab consists of the following parts:
- Working with Issues and Templates
- Participating in Discussions
- Rendering markdonw as HTML with GitHub Pages
-
Create and Issue and add markdown elements (get help here):
- Mention a person or team (using @)
- Add a syntax-highlighted code block
- Add a flow chart
- Add a pin to a location (geojson)
-
Nesting issues:
- Apply a label
Epic
to the issue - Add three tasks to the issue and convert them to issues
- Mark them with the label
Feature
- Add two tasks to each feature and convert them to issues
- Mark them with the label
Story
(use bulk edit!)
- Apply a label
-
Issue templates
- Create a file
.github/ISSUE_TEMPLATE/config.yml
- Disable blank issues
- Add an additional URL that points to a new discussion
Solution
blank_issues_enabled: false contact_links: - name: 👥 Discussions url: https://github.com/wulfland/AccelerateDevOps/discussions/new about: Please use discussions for issues that are not a bug, enhancement or feature request
- Add a template for a bug report (
.github/ISSUE_TEMPLATE/bug_report.md
) - Assign bugs to yourself and add labels
bug
andunplanned
to bugs - Prefix the title with
[Bug]:
and add some sample markdown.
Solution
--- name: 🐞 Bug report about: Create a report to help us improve title: '[Bug]:' labels: [bug, unplanned] assignees: - wulfland --- **Describe the bug** A clear and concise description of what the bug is. **To Reproduce** Steps to reproduce the behavior: 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' 4. See error
- Add a custom template file
.github/ISSUE_TEMPLATE/custom.yml
- Add a required input with a placeholder text and a label, a textarea, a single select dropdown, a multi select dropdown, and a checkbox
Solution
name: 💡 Custom Issue Form description: A custom form with different fields body: - type: input id: contact attributes: label: Contact Details description: How can we get in touch with you if we need more info? placeholder: ex. [email protected] validations: required: false - type: textarea id: what-happened attributes: label: What happened? description: Also tell us, what did you expect to happen? placeholder: Tell us what you see! value: "Tell us what you think" validations: required: true - type: dropdown id: version attributes: label: Version description: What version of our software are you running? options: - 1.0.2 (Default) - 1.0.3 (Edge) - 1.0.4 (Something) validations: required: true - type: dropdown id: browsers attributes: label: What browsers are you seeing the problem on? multiple: true options: - Firefox - Chrome - Safari - Microsoft Edge - type: checkboxes id: terms attributes: label: Code of Conduct description: By submitting this issue, you agree to follow our [Code of Conduct](https://example.com) options: - label: I agree to follow this project's Code of Conduct required: true
- Verify your issue template and create a bug and an issue from the custom template
- Create a file
- Ask a question in discussions and answer it (mark it as answered)
- Create a poll
- Create an announcement
- Pin the question and the announcement to discussion
- See here for ideas
- Create a markdown file
index.md
hand add metadatalayout: home
amd some sample markdown
Solution
---
layout: home
---
This is the the homepage `index.md`
- Enbale
Pages
in your repository (main
branch - folder/(root)
and see your new homepage
- Add a file
_config.yml
and configure pages to use theminima
theme.
Solution
title: GitHub Bootcamp
description: >-
This is is a sample Jekyll website that is hosted in GitHub Pages.
It is used in the `GitHub Bootcamp` workshop from @wulfland
twitter_username: mike_kaufmann
github_username: wulfland
theme: minima
markdown: kramdown
In this hands-on lab you've practiced to work with GitHub Issues, Discussions, and Pages. Please continue with Portfolio and project management.