Skip to content

Instantly share code, notes, and snippets.

@ home

Johannes Nicolai jonico

@ home
  • GitHub Staff
  • Potsdam
Block or report user

Report or block jonico

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
jonico /
Last active Jan 13, 2020
Delete all package versions of a package of certain GitHub repository
# Script that works to delete private packages stored on Github Packages
# Script is based on the work of Troy Fontaine (
jonico / docker-build-publish.yaml
Created Aug 19, 2019
Build docker image and push to GPR with GitHub Actions
View docker-build-publish.yaml
name: Build and publish Jekyll Docker image for Octocat Generator
on: [push]
name: Build
runs-on: ubuntu-latest
- uses: actions/checkout@master
- name: clean up, docker login && docker build && docker push
jonico / azure-pipelines.yml
Last active Nov 28, 2019
Build and push a docker image into GitHub Package registry and create a tag in GitHub using Azure Pipelines (AZP) yaml files (azure-pipelines.yaml)
View azure-pipelines.yml
- repo: self
- master
- script: ./
displayName: Clean Up
jonico / query_github_audit_log.graphql
Created Jun 6, 2019
How to query GitHub's audit log with GraphQL
View query_github_audit_log.graphql
query {
organization(login: "se-saml") {
auditLog(first: 50) {
edges {
node {
... on RepositoryAuditEntryData {
repository {
jonico / list-business-account-members-and-their-orgs.graphql
Last active Mar 14, 2019
GraphQL Examples with GitHub business account
View list-business-account-members-and-their-orgs.graphql
query getOrgsInBusiness($slug: String!) {
business(slug: $slug) {
... on Business {
members(first: 100) {
edges {
organizations(first: 100) {
jonico /
Created Feb 21, 2019
How to setup GitHub SAML authentication with Auth0

When setting up Auth0 as a SAML IdP for GitHub, you most likely created an Application in Auth0 representing GitHub and enabled the SAML WebApp addon, as explained here. In order to ensure that the proper SAML response is sent to GitHub, make sure to configure the audience value in the JSON settings for the SAML Web App addon, replacing "acme" with your org name in GitHub:


jonico / github_basic_auth_retrieve_emails.go
Created Jan 5, 2019
Example of a basic GitHub OAuth app tha retrieves all emails (including private) of a GitHub user in Go
View github_basic_auth_retrieve_emails.go
// Simple OAuth server retrieving the email adresses of a GitHub user
package main
import (
jonico / Jenkinsfile
Last active Jul 23, 2019
Jenkins in Kubernetes cluster
View Jenkinsfile
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
Environment variables: These environment variables should be set in Jenkins in: `<org name>/configure`:
For deployment purposes:
- HEROKU_PREVIEW=<your heroku preview app>
- HEROKU_PREPRODUCTION=<your heroku pre-production app>
jonico /
Last active Sep 4, 2018
Example how to compute diffs of more than 300 files between branches/commits/tags server side using a pre-receive hook in GitHub Enterprise
#!/usr/bin/env bash
# Client side script to trigger pre-receive hook and scan its output
# usage: <repo URL> <compare branch> [base branch] [magic trigger branch]
# Examples:
# compare-branch feature-branch # diffs compare-branch with feature branch
# compare-branch # diffs compare-branch with master
# f75b18abbb06 f75b18abbb06^1 # diffs commit f75b18abbb06 with its parent
# master master~2 # diffs latest commit on master with its grandparent
jonico / Jenkinsfile.groovy
Created Feb 19, 2018
Abbreviated Jenkinsfile to build on multiple archs (from project)
View Jenkinsfile.groovy
for (x in slaves) {
def slave = x
for (y in pyvers) {
def pyver = y
builders["${slave} - ${pyver}"] = {
node(slave) {
stage("${slave} - ${pyver}"){
step ([$class: 'WsCleanup'])
checkout scm
def bn = env.BUILD_NUMBER
You can’t perform that action at this time.