<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://josh-ops.com/</id><title>josh-ops</title><subtitle>Blogging about Azure DevOps and GitHub practices, tips, and my continuous improvement DevOps journey.</subtitle> <updated>2026-06-24T09:35:02-05:00</updated> <author> <name>Josh Johanning</name> <uri>https://josh-ops.com/</uri> </author><link rel="self" type="application/atom+xml" href="https://josh-ops.com/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://josh-ops.com/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 Josh Johanning </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Everything you can do with .github and .github-private repositories</title><link href="https://josh-ops.com/posts/github-dot-github-repository/" rel="alternate" type="text/html" title="Everything you can do with .github and .github-private repositories" /><published>2026-06-22T15:00:00-05:00</published> <updated>2026-06-24T09:34:20-05:00</updated> <id>https://josh-ops.com/posts/github-dot-github-repository/</id> <content type="text/html" src="https://josh-ops.com/posts/github-dot-github-repository/" /> <author> <name>Josh Johanning</name> </author> <category term="GitHub" /> <category term="Organizations" /> <summary>A centralized reference for .github and .github-private repository features, including required files and visibility on GitHub.com, GHEC, EMU, GHEC with data residency, and GHES</summary> </entry> <entry><title>Enforcing Deployment Promotion with Custom Deployment Protection Rules</title><link href="https://josh-ops.com/posts/github-actions-custom-deployment-protection-rules/" rel="alternate" type="text/html" title="Enforcing Deployment Promotion with Custom Deployment Protection Rules" /><published>2026-06-22T14:15:00-05:00</published> <updated>2026-06-22T14:15:00-05:00</updated> <id>https://josh-ops.com/posts/github-actions-custom-deployment-protection-rules/</id> <content type="text/html" src="https://josh-ops.com/posts/github-actions-custom-deployment-protection-rules/" /> <author> <name>Josh Johanning</name> </author> <category term="GitHub" /> <category term="Actions" /> <summary>Using a Custom Deployment Protection Rule (GitHub App) to enforce environment promotion ordering and ServiceNow change ticket validation across any workflow, in any repo</summary> </entry> <entry><title>Enforcing Immutable Actions with Required Workflows</title><link href="https://josh-ops.com/posts/enforcing-immutable-actions-required-workflows/" rel="alternate" type="text/html" title="Enforcing Immutable Actions with Required Workflows" /><published>2026-04-03T20:00:00-05:00</published> <updated>2026-04-03T20:00:00-05:00</updated> <id>https://josh-ops.com/posts/enforcing-immutable-actions-required-workflows/</id> <content type="text/html" src="https://josh-ops.com/posts/enforcing-immutable-actions-required-workflows/" /> <author> <name>Josh Johanning</name> </author> <category term="GitHub" /> <category term="Actions" /> <summary>Using a required workflow to enforce that all GitHub Actions in your pull requests reference immutable releases, adding a supply chain security gate at the organization or enterprise level</summary> </entry> <entry><title>How I Maintain My Open Source GitHub Actions</title><link href="https://josh-ops.com/posts/maintaining-oss-github-actions/" rel="alternate" type="text/html" title="How I Maintain My Open Source GitHub Actions" /><published>2026-03-24T22:00:00-05:00</published> <updated>2026-03-30T16:30:36-05:00</updated> <id>https://josh-ops.com/posts/maintaining-oss-github-actions/</id> <content type="text/html" src="https://josh-ops.com/posts/maintaining-oss-github-actions/" /> <author> <name>Josh Johanning</name> </author> <category term="GitHub" /> <category term="Actions" /> <summary>A walkthrough of the tools, workflows, and practices I use to maintain a growing collection of open source JavaScript GitHub Actions</summary> </entry> <entry><title>GitHub Actions OIDC: Using Repository Custom Properties for Attribute-Based Access Control</title><link href="https://josh-ops.com/posts/github-actions-oidc-custom-properties/" rel="alternate" type="text/html" title="GitHub Actions OIDC: Using Repository Custom Properties for Attribute-Based Access Control" /><published>2026-03-19T20:00:00-05:00</published> <updated>2026-03-19T20:00:00-05:00</updated> <id>https://josh-ops.com/posts/github-actions-oidc-custom-properties/</id> <content type="text/html" src="https://josh-ops.com/posts/github-actions-oidc-custom-properties/" /> <author> <name>Josh Johanning</name> </author> <category term="GitHub" /> <category term="Actions" /> <summary>How to include repository custom properties in GitHub Actions OIDC tokens to enable attribute-based access control to cloud environments</summary> </entry> </feed>
