├── README.md ├── .github ├── pull_request_template.md └── ISSUE_TEMPLATE │ ├── question.yml │ ├── feature_request.yml │ ├── bug_report.yml │ ├── epic.yml │ ├── chore.yml │ ├── analysis.yml │ ├── user_story.yml │ ├── epic-security-requirements-verification.yml │ └── test_plan.md ├── profile └── README.md └── CODE_OF_CONDUCT.md /README.md: -------------------------------------------------------------------------------- 1 | # .github -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Description 4 | 5 | 6 | ## Related Issue(s) 7 | - #{issue number} 8 | 9 | ## Verification 10 | - [ ] **Your** code builds clean without any errors or warnings 11 | - [ ] Manual testing done (required) 12 | - [ ] Relevant automated test added (if you find this hard, leave it and we'll help out) 13 | - [ ] All tests run green 14 | 15 | ## Documentation 16 | - [ ] User documentation is updated with a separate linked PR in [altinn-studio-docs.](https://github.com/Altinn/altinn-studio-docs) (if applicable) 17 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.yml: -------------------------------------------------------------------------------- 1 | name: Question ❓ 2 | description: Ask a question related to this product. 3 | labels: ["kind/question", "status/triage"] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Unsure if you've found a bug or have a feature request? Use this template to ask us a question to find out. 9 | 10 | - type: textarea 11 | id: question 12 | attributes: 13 | label: Question 14 | description: How can we help you? What do you want to know? 15 | validations: 16 | required: true 17 | 18 | - type: textarea 19 | id: additional-information 20 | attributes: 21 | label: Additional Information 22 | description: | 23 | Add any other context, screenshots or code that might help us understanding and answering the question. 24 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yml: -------------------------------------------------------------------------------- 1 | name: Feature Request ✨ 2 | description: Request a new feature or enhancement 3 | labels: ["kind/feature-request", "status/triage"] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Please make sure this feature request hasn't been already submitted by someone by looking through other open/closed issues 9 | 10 | - type: textarea 11 | id: description 12 | attributes: 13 | label: Description 14 | description: Give us a brief description of the feature or enhancement you would like 15 | validations: 16 | required: true 17 | 18 | - type: textarea 19 | id: additional-information 20 | attributes: 21 | label: Additional Information 22 | description: Give us some additional information on the feature request like proposed solutions, links, screenshots, etc. -------------------------------------------------------------------------------- /profile/README.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Altinn!😁 2 | 3 | ![helping each other](https://github.com/Altinn/.github/assets/6088624/bf887130-68ae-45f7-ad5a-0fbb4492bb07) 4 | 5 | A helpful [community](https://docs.altinn.studio/en/community) and [open source solutions](https://github.com/orgs/Altinn/repositories) 6 | maintained by [Digdir](https://www.digdir.no/digdir/about-norwegian-digitalisation-agency/887) with a little help from [our friends](https://www.altinn.no/en/about-altinn/the-altinn-co-operation/). 7 | 8 | - [Documentation](https://docs.altinn.studio/), [Slack](https://digdir-samarbeid.slack.com) and [Code of Conduct](https://github.com/Altinn/.github/blob/main/CODE_OF_CONDUCT.md) 9 | - [Architecture Principles](https://docs.altinn.studio/principles/), [Security Whitepaper](https://docs.altinn.studio/en/security/) and [Development Handbook](https://docs.altinn.studio/en/community/contributing/handbook/) 10 | - [Roadmaps](https://github.com/digdir/roadmap) and [designsystemet.no](https://www.designsystemet.no) 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- 1 | name: Bug Report 🐛 2 | description: File a bug report here 3 | labels: ["kind/bug", "status/triage"] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Thanks for taking the time to fill out this bug report 🤗 9 | Make sure there aren't any open/closed issues for this topic 😃 10 | 11 | - type: textarea 12 | id: bug-description 13 | attributes: 14 | label: Description of the bug 15 | description: Give us a brief description of what happened and what should have happened 16 | validations: 17 | required: true 18 | 19 | - type: textarea 20 | id: steps-to-reproduce 21 | attributes: 22 | label: Steps To Reproduce 23 | description: Steps to reproduce the behavior. 24 | placeholder: | 25 | 1. Go to '...' 26 | 2. Click on '...' 27 | 3. Scroll down to '...' 28 | 4. See error 29 | validations: 30 | required: true 31 | - type: textarea 32 | id: additional-information 33 | attributes: 34 | label: Additional Information 35 | description: | 36 | Provide any additional information such as logs, screenshots, likes, scenarios in which the bug occurs so that it facilitates resolving the issue. -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/epic.yml: -------------------------------------------------------------------------------- 1 | name: Epic 💎 2 | description: Create a new epic (very big user story) 3 | labels: ["Epic", "status/draft"] 4 | body: 5 | - type: textarea 6 | id: description 7 | attributes: 8 | label: Description 9 | description: A quick introduction to the user need. Make it clear for who, why and what. 10 | validations: 11 | required: true 12 | 13 | - type: textarea 14 | id: in-scope 15 | attributes: 16 | label: In scope 17 | description: What's in scope for this epic? 18 | 19 | - type: textarea 20 | id: out-of-scope 21 | attributes: 22 | label: Out of scope 23 | description: What's out of scope for this epic? 24 | 25 | - type: textarea 26 | id: additional-information 27 | attributes: 28 | label: Additional Information 29 | description: Links to relevant resources, documentation of other issues, UX sketches, technical architecture/requirements. 30 | 31 | - type: textarea 32 | id: tasks 33 | attributes: 34 | label: Tasks 35 | description: Add tasks that are considered user story candidates. 36 | 37 | - type: markdown 38 | attributes: 39 | value: | 40 | * Check the [Definition of Ready](https://docs.altinn.studio/community/devops/definition-of-ready/) if you need hints on what to include. 41 | * Remember to link all relevant issues (bugs, user stories, chores) 42 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/chore.yml: -------------------------------------------------------------------------------- 1 | name: Chore ✅ 2 | description: Create a none user-story issue (chore, tech issue, backend issue) 3 | labels: ["kind/chore", "status/draft"] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Please make sure this chore hasn't been already submitted by someone by looking through other open/closed chore issues. 9 | 10 | - type: textarea 11 | id: description 12 | attributes: 13 | label: Description 14 | description: Give us a brief description of the work that needs to be done. 15 | validations: 16 | required: true 17 | 18 | - type: textarea 19 | id: additional-information 20 | attributes: 21 | label: Additional Information 22 | description: Add more details as need like links, architecture sketches etc. 23 | 24 | - type: textarea 25 | id: tasks 26 | attributes: 27 | label: Tasks 28 | description: Add tasks to be done as part of this issue. 29 | 30 | - type: textarea 31 | id: acceptance-criterias 32 | attributes: 33 | label: Acceptance Criterias 34 | description: Define the acceptance criterias that this user story should testet against (if relevant). 35 | 36 | - type: markdown 37 | attributes: 38 | value: | 39 | * Check the [Definition of Ready](https://docs.altinn.studio/community/devops/definition-of-ready/) if you need hints on what to include. 40 | * Remember to add the correct labels (status/*, team/*, org/*) 41 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/analysis.yml: -------------------------------------------------------------------------------- 1 | name: Analysis 🔬 2 | description: Create a new analysis issue for something big that needs some insight. 3 | labels: ["kind/analysis", "status/draft"] 4 | body: 5 | - type: textarea 6 | id: description 7 | attributes: 8 | label: Description 9 | description: Description of the the problem or area that is to be analysed. 10 | validations: 11 | required: true 12 | 13 | - type: textarea 14 | id: in-scope 15 | attributes: 16 | label: In scope 17 | description: What's in scope for this analysis? 18 | 19 | - type: textarea 20 | id: out-of-scope 21 | attributes: 22 | label: Out of scope 23 | description: What's out of scope for this analysis? 24 | 25 | - type: textarea 26 | id: additional-information 27 | attributes: 28 | label: Additional Information 29 | description: Links to relevant resources, documentation of other issues, UX sketches, technical architecture/requirements. 30 | 31 | - type: textarea 32 | id: analysis 33 | attributes: 34 | label: Analysis 35 | description: A description of how the analysis was done, what alternatives were considered etc 36 | 37 | - type: textarea 38 | id: conclusion 39 | attributes: 40 | label: Conclusion 41 | description: What have we found out by doing this analysis 42 | 43 | - type: markdown 44 | attributes: 45 | value: | 46 | * Remember to add correct labels. 47 | * Remember to link all relevant issues (bugs, user stories, chores). 48 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/user_story.yml: -------------------------------------------------------------------------------- 1 | name: User Story 😃 2 | description: Create a new user story 3 | labels: ["kind/user-story", "status/draft"] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | * Please make sure this user story hasn't been already submitted by someone by looking through other open/closed user stories. 9 | * Consider starting with the format As a **[who]** I want to **[what]** so that **[why]** 10 | * Consider the [INVEST](https://www.pivotaltracker.com/blog/how-to-invest-in-your-user-stories) qualities when writing the story 11 | 12 | - type: textarea 13 | id: description 14 | attributes: 15 | label: Description 16 | description: Give us a brief description of the feature or enhancement you would like 17 | validations: 18 | required: true 19 | 20 | - type: textarea 21 | id: additional-information 22 | attributes: 23 | label: Additional Information 24 | description: Add more details as needed, like links, screenshots, etc. 25 | 26 | - type: textarea 27 | id: tasks 28 | attributes: 29 | label: Tasks 30 | description: Add tasks to be done as part of this story. 31 | 32 | - type: textarea 33 | id: acceptance-criterias 34 | attributes: 35 | label: Acceptance Criterias 36 | description: Define the acceptance criterias that this user story should testet against 37 | 38 | - type: markdown 39 | attributes: 40 | value: | 41 | * Check the [Definition of Ready](https://docs.altinn.studio/community/devops/definition-of-ready/) if you need hints on what to include. 42 | * Remember to add the correct labels (status/*, org/*, ...) 43 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/epic-security-requirements-verification.yml: -------------------------------------------------------------------------------- 1 | name: Epic security requirements verification 💎✅ 2 | description: This issue type will be used for verification of security requirements in epics 3 | title: Security requirements verification for (epic name) 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | ### Context 9 | The security requirements listed in this issue, are the subset of [OWASP Application Security Verification Standard (ASVS)](https://owasp.org/www-project-application-security-verification-standard/) that need to be verified by product teams upon completion of an epic. 10 | ### How to use this issue type: 11 | 1. In the [plan phase](https://pedia.altinn.cloud/sec/security-architecture/appsec/devsecops/plan/#identify-security-requirements), go to [AltinnPedia](https://pedia.altinn.cloud/sec/security-architecture/governance/policies/asvs/per-team/) to see all security requirements that should be considered per epic. 12 | 2. Go through the [security requirements](https://pedia.altinn.cloud/sec/security-architecture/governance/policies/asvs/per-team/) and un-check those that aren't relevant for the epic in question. Copy the [markdown representation](https://pedia.altinn.cloud/sec/security-architecture/governance/policies/asvs/per-team/#markdown-for-issues) (bottom of the page) into this Github issue. 13 | 3. Before the epic is done, verify the relevant (non-struck through) requirements in this Github issue. 14 | - type: textarea 15 | attributes: 16 | label: Verification of security requirements 17 | value: | 18 | (Copy from textfield in https://pedia.altinn.cloud/sec/security-architecture/governance/policies/asvs/per-team/#markdown-for-issues) 19 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/test_plan.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Testplan 🧪 3 | about: Create a new testplan 4 | title: Testplan for 5 | labels: kind/testplan 6 | assignees: '' 7 | --- 8 | 9 | | **Delivery** | | 10 | |:-------------------------|:--------------------------------------------------| 11 | | **Roadmap** | | 12 | | **Involved teams** | @team-... | 13 | | **Due date** | xx.xx.xxxx | 14 | | **Test period** | xx.xx.xxxx - xx.xx.xxxx | 15 | 16 | 17 | ## Dependencies 18 | 19 | | **Dependency** | **Owner** | **Status** | 20 | |:-----------------------------------|:---------------------------|:-----------| 21 | | | | | 22 | | | | | 23 | | | | | 24 | 25 | 26 | ## Functional tests 27 | > ✅ OK, ⚠️ In progress, 🛑 Failed 28 | > During test period run tests covering business needs and requirements listed here 29 | 30 | | Scenario | Test data | Done by | Importance | Level | Status | Comment | 31 | |------------|-----------|-------------|------------|---------|-------|---------| 32 | | | | @... | High | | ✅ | | 33 | | | | @... | Low | | 🛑 | | 34 | 35 | 36 | ## Non-functional tests 37 | 38 | - Performance tests: Link to runs and documentation when needed 39 | - Security tests: Link to documentation when needed 40 | 41 | 42 | ## Clarifications 43 | 44 | | **Question** | **Answer** | **Date ** | 45 | |:---------------------------------|:-----------------------------|:-----------| 46 | | | | | 47 | | | | | 48 | 49 | ## ⚠️ Out of scope 50 | > List discussed functionality out of scope or that might be relevant in a later release 51 | 52 | 53 | ## :information_source: Useful links 54 | 55 | ### Sketches 56 | ### Architecture diagrams 57 | ### Test environment 58 | ### Testd ata 59 | ### Link to milestone 60 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Digdir Code of Conduct v1.0 2 | 3 | ## Our Pledge 4 | 5 | We as members, contributors, and leaders pledge to make participation in our 6 | community a harassment-free experience for everyone, regardless of age, body 7 | size, visible or invisible disability, ethnicity, sex characteristics, gender 8 | identity and expression, level of experience, education, socio-economic status, 9 | nationality, personal appearance, race, caste, religion, or sexual 10 | identity and orientation. 11 | 12 | We pledge to act and interact in ways that contribute to an open, welcoming, 13 | diverse, inclusive, and healthy community. 14 | 15 | ## Our Standards 16 | 17 | Examples of behavior that contributes to a positive environment for our 18 | community include: 19 | 20 | * Demonstrating empathy and kindness toward other people 21 | * Being respectful of differing opinions, viewpoints, and experiences 22 | * Giving and gracefully accepting constructive feedback 23 | * Accepting responsibility and apologizing to those affected by our mistakes, 24 | and learning from the experience 25 | * Focusing on what is best not just for us as individuals, but for the 26 | overall community 27 | 28 | Examples of unacceptable behavior include: 29 | 30 | * The use of sexualized language or imagery, and sexual attention or 31 | advances of any kind 32 | * Trolling, insulting or derogatory comments, and personal or political attacks 33 | * Public or private harassment 34 | * Publishing others' private information, such as a physical or email 35 | address, without their explicit permission 36 | * Other conduct which could reasonably be considered inappropriate in a 37 | professional setting 38 | 39 | ## Enforcement Responsibilities 40 | 41 | Community leaders are responsible for clarifying and enforcing our standards of 42 | acceptable behavior and will take appropriate and fair corrective action in 43 | response to any behavior that they deem inappropriate, threatening, offensive, 44 | or harmful. 45 | 46 | Community leaders have the right and responsibility to remove, edit, or reject 47 | comments, commits, code, wiki edits, issues, and other contributions that are 48 | not aligned to this Code of Conduct, and will communicate reasons for moderation 49 | decisions when appropriate. 50 | 51 | ## Scope 52 | 53 | This Code of Conduct applies within all community spaces, and also applies when 54 | an individual is officially representing the community in public spaces. 55 | Examples of representing our community include using an official e-mail address, 56 | posting via an official social media account, or acting as an appointed 57 | representative at an online or offline event. 58 | 59 | ## Enforcement 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 62 | reported to the community leaders responsible for enforcement at 63 | community@digdir.no. 64 | All complaints will be reviewed and investigated promptly and fairly. 65 | 66 | All community leaders are obligated to respect the privacy and security of the 67 | reporter of any incident. 68 | 69 | ## Attribution 70 | 71 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 72 | version 2.1, available at 73 | https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. 74 | 75 | [homepage]: https://www.contributor-covenant.org 76 | --------------------------------------------------------------------------------