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 / Jenkinsfile
Last active Dec 6, 2019
Example for a full blown Jenkins pipeline script with multiple stages, kubernetes templates, shared volumes, input steps, injected credentials, heroku deploy, sonarqube and artifactory integration, Docker containers, multiple Git commit statuses, PR merge vs branch build detection, REST API calls to GitHub deployment API, stage timeouts, stage c…
View Jenkinsfile
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
def label = "mypod-${UUID.randomUUID().toString()}"
podTemplate(label: label, yaml: """
- name: mvn
image: maven:3.3.9-jdk-8-alpine
jonico /
Last active Dec 6, 2019
Evaluierungsfragen/kriterien bei der Auswahl einer Versionskontrollverwaltungs- / Social Coding-Plattform

Business Coding Platform Evaluierungskriterien / Fragen

  • Wie lange dauert es, einen neuen Entwickler in die Plattform einzuarbeiten? Welcher Trainingsaufwand ist erforderlich, bis der erste Commit in Produktion gehen kann?

  • Wie unterstützt die gewählte Plattform das Aufbauen eines unternehmensweiten Entwickler-Profils, aus dem die Entwicklungsaktivität, Popularität, Programmiersprachen und Tätigkeitsschwerpunkt (welche Repositories) eines Entwicklers oder Entwicklerteams hervorgeht?

  • Wie können Entwickler und Designer schnell und unproblematisch Quellcode-Snippets, Design-Überlegungen, Interview-Fragen und andere Markdown-Dokumente miteinander teilen? Besteht die Möglichkeit, diese Dokumente zu durchsuchen, insofern sie nicht geheim angelegt worden?

  • Wie können Nicht-Entwickler (Ingenieure, Fachabteilung, Projektleiter, Marketing, Legal), Änderungen an Design-Dokumenten und Dokumentation ohne Kommandozeilenwissen oder Desktop-Applikationen vorschlagen? Erlaubt die Web-Oberfläche das Hinzufügen, Lö

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 / 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 / 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 / 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 / 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
View .gitconfig
# View abbreviated SHA, description, and history graph of the latest 20 commits
l = log --pretty=oneline -n 20 --graph --abbrev-commit
# View the current working tree status using the short format
s = status -s
# Show the diff between the latest commit and the current state
d = !"git diff-index --quiet HEAD -- || clear; git --no-pager diff --patch-with-stat"
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:


You can’t perform that action at this time.