From 57ec687c5d16e6f4982331b32c18ec4aa57aa59c Mon Sep 17 00:00:00 2001 From: Tim Jacomb Date: Fri, 20 Mar 2020 10:55:43 +0000 Subject: [PATCH 01/14] GitHub app blog --- content/_data/authors/timja.adoc | 3 + .../2020-03-19-github-app-authentication.adoc | 70 ++++++++++++++++++ content/images/github-app-rate-limit.png | Bin 0 -> 13685 bytes 3 files changed, 73 insertions(+) create mode 100644 content/blog/2020/03/2020-03-19-github-app-authentication.adoc create mode 100644 content/images/github-app-rate-limit.png diff --git a/content/_data/authors/timja.adoc b/content/_data/authors/timja.adoc index 6b5b03b52829..0d753fe8420c 100644 --- a/content/_data/authors/timja.adoc +++ b/content/_data/authors/timja.adoc @@ -2,3 +2,6 @@ name: "Tim Jacomb" github: "timja" --- +Jenkins core maintainer, along with slack, azure-keyvault and configuration-as-code plugins. +Tim started using Jenkins in 2013 and became an active contributor in 2018. +Tim enjoys working on open source software in his “free” time. \ No newline at end of file diff --git a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc new file mode 100644 index 000000000000..8e236254adf4 --- /dev/null +++ b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc @@ -0,0 +1,70 @@ +--- +layout: post +title: "GitHub app authentication released" +tags: +- github +- github-branch-source +author: timja +--- + +I'm excited to announce support for authenticating as a GitHub app in Jenkins. + +It has been released in link:https://github.com/jenkinsci/github-branch-source-plugin/releases/tag/github-branch-source-2.7.0[GitHub Branch Source 2.7.0] + +This has been a long awaited feature by many users, + +It brings many benefits: + +* the rate limit for a GitHub app scales with your organization size, +whereas a user based token has a limit of 5000 regardless of how many repositories you have, + +* for organization’s that have 2fa enforced - no need to manage 2fa tokens for a 'bot' user + +* to improve and tighten security: the Jenkins GitHub app requires a minimum, controlled set of privileges compared to a service user and its personal access token which has a much wider set of privileges + +== Getting started + +Install the link:https://plugins.jenkins.io/github-branch-source/[GitHub Branch Source plugin], +make sure the version is at least 2.7.0. + +Follow the link:https://github.com/jenkinsci/github-branch-source-plugin/blob/master/docs/github-app.adoc[setup guide], it's also linked to from the plugins README on GitHub. + +Once you've finished setting it up, Jenkins will validate your credential and you should see your new rate limit, +here's an example on a large org: + +image:/images/github-app-rate-limit.png[GitHub app rate limit] + +== How do I get an API token in my pipeline? + +You can access the Bearer token for the GitHub API by just loading a 'Username/ Password' credential as usual, +the plugin will handle authenticating with GitHub in the background: + +[source, groovy] +---- + +pipeline { + agent any + + stages{ + stage('Check run') { + steps { + withCredentials([usernamePassword(credentialsId: 'githubapp-jenkins', usernameVariable: 'GITHUB_APP', passwordVariable: 'GITHUB_JWT_TOKEN')]) { + sh ''' + curl -H "Content-Type: application/json" -H "Accept: application/vnd.github.antiope-preview+json" -H "authorization: Bearer ${GITHUB_JWT_TOKEN}" -d '{ "name": "check_run", "head_sha": "'${GIT_COMMIT}'", "status": "in_progress", "external_id": "42", "started_at": "2020-03-05T11:14:52Z", "output": { "title": "Check run from Jenkins!", "summary": "This is a check run which has been generated from Jenkins as GitHub App", "text": "...and that iss awesome"}}' https://api.github.com/repos///check-runs + ''' + } + } + } + } +} + + +---- + +== What's next + +There's a proposed Google Summer of Code project: link:https://jenkins.io/projects/gsoc/2020/project-ideas/github-checks/[GitHub Checks API for Jenkins Plugins]. + +This is looking at integrating with the link:https://developer.github.com/v3/checks/[checks api], with a focus on reporting issues found using the link:https://plugins.jenkins.io/warnings-ng/[warnings-ng plugin] directly onto the GitHub pull request, along with test results summary on GitHub. + +If you want to get involved with this join the link:https://gitter.im/jenkinsci/gsoc-sig[gitter channel] and ask how you can help, there's already students sending in their proposals. \ No newline at end of file diff --git a/content/images/github-app-rate-limit.png b/content/images/github-app-rate-limit.png new file mode 100644 index 0000000000000000000000000000000000000000..fbd60929cc078feef6ea268216e45313067482fa GIT binary patch literal 13685 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 literal 0 HcmV?d00001 From cf0df6c541e8e6dca0800a4a679c1d972431909a Mon Sep 17 00:00:00 2001 From: Tim Jacomb Date: Fri, 20 Mar 2020 13:52:30 +0000 Subject: [PATCH 02/14] Apply suggestions from code review Co-Authored-By: Jesse Glick --- .../03/2020-03-19-github-app-authentication.adoc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc index 8e236254adf4..ef14e9a7e034 100644 --- a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc +++ b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc @@ -18,7 +18,7 @@ It brings many benefits: * the rate limit for a GitHub app scales with your organization size, whereas a user based token has a limit of 5000 regardless of how many repositories you have, -* for organization’s that have 2fa enforced - no need to manage 2fa tokens for a 'bot' user +* for organizations that have 2FA enforced - no need to manage 2FA tokens for a 'bot' user * to improve and tighten security: the Jenkins GitHub app requires a minimum, controlled set of privileges compared to a service user and its personal access token which has a much wider set of privileges @@ -27,16 +27,16 @@ whereas a user based token has a limit of 5000 regardless of how many repositori Install the link:https://plugins.jenkins.io/github-branch-source/[GitHub Branch Source plugin], make sure the version is at least 2.7.0. -Follow the link:https://github.com/jenkinsci/github-branch-source-plugin/blob/master/docs/github-app.adoc[setup guide], it's also linked to from the plugins README on GitHub. +Follow the link:https://github.com/jenkinsci/github-branch-source-plugin/blob/master/docs/github-app.adoc[setup guide]; it's also linked to from the plugin’s README on GitHub. -Once you've finished setting it up, Jenkins will validate your credential and you should see your new rate limit, -here's an example on a large org: +Once you've finished setting it up, Jenkins will validate your credential and you should see your new rate limit. +Here's an example on a large org: image:/images/github-app-rate-limit.png[GitHub app rate limit] == How do I get an API token in my pipeline? -You can access the Bearer token for the GitHub API by just loading a 'Username/ Password' credential as usual, +You can access the Bearer token for the GitHub API by just loading a 'Username/Password' credential as usual, the plugin will handle authenticating with GitHub in the background: [source, groovy] @@ -50,7 +50,7 @@ pipeline { steps { withCredentials([usernamePassword(credentialsId: 'githubapp-jenkins', usernameVariable: 'GITHUB_APP', passwordVariable: 'GITHUB_JWT_TOKEN')]) { sh ''' - curl -H "Content-Type: application/json" -H "Accept: application/vnd.github.antiope-preview+json" -H "authorization: Bearer ${GITHUB_JWT_TOKEN}" -d '{ "name": "check_run", "head_sha": "'${GIT_COMMIT}'", "status": "in_progress", "external_id": "42", "started_at": "2020-03-05T11:14:52Z", "output": { "title": "Check run from Jenkins!", "summary": "This is a check run which has been generated from Jenkins as GitHub App", "text": "...and that iss awesome"}}' https://api.github.com/repos///check-runs + curl -H "Content-Type: application/json" -H "Accept: application/vnd.github.antiope-preview+json" -H "authorization: Bearer ${GITHUB_JWT_TOKEN}" -d '{ "name": "check_run", "head_sha": "'${GIT_COMMIT}'", "status": "in_progress", "external_id": "42", "started_at": "2020-03-05T11:14:52Z", "output": { "title": "Check run from Jenkins!", "summary": "This is a check run which has been generated from Jenkins as GitHub App", "text": "...and that is awesome"}}' https://api.github.com/repos///check-runs ''' } } @@ -67,4 +67,4 @@ There's a proposed Google Summer of Code project: link:https://jenkins.io/projec This is looking at integrating with the link:https://developer.github.com/v3/checks/[checks api], with a focus on reporting issues found using the link:https://plugins.jenkins.io/warnings-ng/[warnings-ng plugin] directly onto the GitHub pull request, along with test results summary on GitHub. -If you want to get involved with this join the link:https://gitter.im/jenkinsci/gsoc-sig[gitter channel] and ask how you can help, there's already students sending in their proposals. \ No newline at end of file +If you want to get involved with this join the link:https://gitter.im/jenkinsci/gsoc-sig[gitter channel] and ask how you can help, there's already students sending in their proposals. From 49361b78c1467b090a3d1f96a73ae3d6d3bde197 Mon Sep 17 00:00:00 2001 From: Tim Jacomb Date: Sat, 21 Mar 2020 08:27:49 +0000 Subject: [PATCH 03/14] Apply suggestions from code review Co-Authored-By: Mark Waite --- .../2020-03-19-github-app-authentication.adoc | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc index ef14e9a7e034..b6edc7887e33 100644 --- a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc +++ b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc @@ -27,7 +27,7 @@ whereas a user based token has a limit of 5000 regardless of how many repositori Install the link:https://plugins.jenkins.io/github-branch-source/[GitHub Branch Source plugin], make sure the version is at least 2.7.0. -Follow the link:https://github.com/jenkinsci/github-branch-source-plugin/blob/master/docs/github-app.adoc[setup guide]; it's also linked to from the plugin’s README on GitHub. +Follow the link:https://github.com/jenkinsci/github-branch-source-plugin/blob/master/docs/github-app.adoc[setup guide]; it's also linked from the plugin’s README on GitHub. Once you've finished setting it up, Jenkins will validate your credential and you should see your new rate limit. Here's an example on a large org: @@ -48,9 +48,21 @@ pipeline { stages{ stage('Check run') { steps { - withCredentials([usernamePassword(credentialsId: 'githubapp-jenkins', usernameVariable: 'GITHUB_APP', passwordVariable: 'GITHUB_JWT_TOKEN')]) { + withCredentials([usernamePassword(credentialsId: 'githubapp-jenkins', + usernameVariable: 'GITHUB_APP', + passwordVariable: 'GITHUB_JWT_TOKEN')]) { sh ''' - curl -H "Content-Type: application/json" -H "Accept: application/vnd.github.antiope-preview+json" -H "authorization: Bearer ${GITHUB_JWT_TOKEN}" -d '{ "name": "check_run", "head_sha": "'${GIT_COMMIT}'", "status": "in_progress", "external_id": "42", "started_at": "2020-03-05T11:14:52Z", "output": { "title": "Check run from Jenkins!", "summary": "This is a check run which has been generated from Jenkins as GitHub App", "text": "...and that is awesome"}}' https://api.github.com/repos///check-runs + curl -H "Content-Type: application/json" \ + -H "Accept: application/vnd.github.antiope-preview+json" \ + -H "authorization: Bearer ${GITHUB_JWT_TOKEN}" \ + -d '{ "name": "check_run", \ + "head_sha": "'${GIT_COMMIT}'", \ + "status": "in_progress", \ + "external_id": "42", \ + "started_at": "2020-03-05T11:14:52Z", \ + "output": { "title": "Check run from Jenkins!", \ + "summary": "This is a check run which has been generated from Jenkins as GitHub App", \ + "text": "...and that is awesome"}}' https://api.github.com/repos///check-runs ''' } } @@ -67,4 +79,5 @@ There's a proposed Google Summer of Code project: link:https://jenkins.io/projec This is looking at integrating with the link:https://developer.github.com/v3/checks/[checks api], with a focus on reporting issues found using the link:https://plugins.jenkins.io/warnings-ng/[warnings-ng plugin] directly onto the GitHub pull request, along with test results summary on GitHub. -If you want to get involved with this join the link:https://gitter.im/jenkinsci/gsoc-sig[gitter channel] and ask how you can help, there's already students sending in their proposals. +If you want to get involved with this, join the link:https://gitter.im/jenkinsci/gsoc-sig[gitter channel] and ask how you can help. +There are already students sending in their proposals. From fd6d8bea55b4bd3773d0124cdb83b68076405f9e Mon Sep 17 00:00:00 2001 From: Tim Jacomb Date: Mon, 23 Mar 2020 14:16:22 +0000 Subject: [PATCH 04/14] Update content/blog/2020/03/2020-03-19-github-app-authentication.adoc --- content/blog/2020/03/2020-03-19-github-app-authentication.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc index b6edc7887e33..56d3130dc2bd 100644 --- a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc +++ b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc @@ -22,6 +22,7 @@ whereas a user based token has a limit of 5000 regardless of how many repositori * to improve and tighten security: the Jenkins GitHub app requires a minimum, controlled set of privileges compared to a service user and its personal access token which has a much wider set of privileges +* access to the GitHub link:https://developer.github.com/v3/checks/[checks API] to create check runs and check suites from Jenkins jobs and provide detailed feedback on commits as well as code annotation == Getting started Install the link:https://plugins.jenkins.io/github-branch-source/[GitHub Branch Source plugin], From b3318d5e16c1570b5b663a4f30286e431f51bcd1 Mon Sep 17 00:00:00 2001 From: Tim Jacomb Date: Mon, 23 Mar 2020 14:16:38 +0000 Subject: [PATCH 05/14] Update content/blog/2020/03/2020-03-19-github-app-authentication.adoc --- content/blog/2020/03/2020-03-19-github-app-authentication.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc index 56d3130dc2bd..d4725aa6d138 100644 --- a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc +++ b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc @@ -23,6 +23,7 @@ whereas a user based token has a limit of 5000 regardless of how many repositori * to improve and tighten security: the Jenkins GitHub app requires a minimum, controlled set of privileges compared to a service user and its personal access token which has a much wider set of privileges * access to the GitHub link:https://developer.github.com/v3/checks/[checks API] to create check runs and check suites from Jenkins jobs and provide detailed feedback on commits as well as code annotation + == Getting started Install the link:https://plugins.jenkins.io/github-branch-source/[GitHub Branch Source plugin], From bd33c15fa9654f8768aa035308842c0ea9aca5d8 Mon Sep 17 00:00:00 2001 From: Tim Jacomb Date: Tue, 14 Apr 2020 15:53:13 +0100 Subject: [PATCH 06/14] Update content/blog/2020/03/2020-03-19-github-app-authentication.adoc --- content/blog/2020/03/2020-03-19-github-app-authentication.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc index d4725aa6d138..03647f8a464a 100644 --- a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc +++ b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc @@ -9,7 +9,7 @@ author: timja I'm excited to announce support for authenticating as a GitHub app in Jenkins. -It has been released in link:https://github.com/jenkinsci/github-branch-source-plugin/releases/tag/github-branch-source-2.7.0[GitHub Branch Source 2.7.0] +It has been released in link:https://github.com/jenkinsci/github-branch-source-plugin/releases/tag/github-branch-source-2.7.0-beta1[GitHub Branch Source 2.7.0-beta1] This has been a long awaited feature by many users, From 4bf840db925ed47b1575a6ec6f38d3d35b21ee1c Mon Sep 17 00:00:00 2001 From: Tim Jacomb Date: Tue, 14 Apr 2020 15:54:23 +0100 Subject: [PATCH 07/14] Update content/blog/2020/03/2020-03-19-github-app-authentication.adoc --- content/blog/2020/03/2020-03-19-github-app-authentication.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc index 03647f8a464a..fde180603a2e 100644 --- a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc +++ b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc @@ -27,7 +27,7 @@ whereas a user based token has a limit of 5000 regardless of how many repositori == Getting started Install the link:https://plugins.jenkins.io/github-branch-source/[GitHub Branch Source plugin], -make sure the version is at least 2.7.0. +make sure the version is at least 2.7.0-beta1. Follow the link:https://github.com/jenkinsci/github-branch-source-plugin/blob/master/docs/github-app.adoc[setup guide]; it's also linked from the plugin’s README on GitHub. From e15f4d86a479912056f73d5c5dfa66c806144713 Mon Sep 17 00:00:00 2001 From: Tim Jacomb Date: Tue, 14 Apr 2020 15:54:48 +0100 Subject: [PATCH 08/14] Update content/blog/2020/03/2020-03-19-github-app-authentication.adoc --- content/blog/2020/03/2020-03-19-github-app-authentication.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc index fde180603a2e..70559e60bc78 100644 --- a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc +++ b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc @@ -82,4 +82,3 @@ There's a proposed Google Summer of Code project: link:https://jenkins.io/projec This is looking at integrating with the link:https://developer.github.com/v3/checks/[checks api], with a focus on reporting issues found using the link:https://plugins.jenkins.io/warnings-ng/[warnings-ng plugin] directly onto the GitHub pull request, along with test results summary on GitHub. If you want to get involved with this, join the link:https://gitter.im/jenkinsci/gsoc-sig[gitter channel] and ask how you can help. -There are already students sending in their proposals. From 998bc9b5b6bf5b5686daeb0d0ad3b9a9ee756714 Mon Sep 17 00:00:00 2001 From: Tim Jacomb Date: Wed, 15 Apr 2020 16:51:35 +0100 Subject: [PATCH 09/14] Apply suggestions from code review Co-Authored-By: Liam Newman --- .../2020-03-19-github-app-authentication.adoc | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc index 70559e60bc78..d57af880559a 100644 --- a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc +++ b/content/blog/2020/03/2020-03-19-github-app-authentication.adoc @@ -9,27 +9,24 @@ author: timja I'm excited to announce support for authenticating as a GitHub app in Jenkins. -It has been released in link:https://github.com/jenkinsci/github-branch-source-plugin/releases/tag/github-branch-source-2.7.0-beta1[GitHub Branch Source 2.7.0-beta1] +It has been released in link:https://github.com/jenkinsci/github-branch-source-plugin/releases/tag/github-branch-source-2.7.0-beta1[GitHub Branch Source 2.7.0-beta1]. This has been a long awaited feature by many users. -This has been a long awaited feature by many users, + Authenticating as a GitHub app brings many benefits: -It brings many benefits: +* **Larger rate limits** - The rate limit for a GitHub app scales with your organization size, +whereas a user based token has a limit of 5000 regardless of how many repositories you have. -* the rate limit for a GitHub app scales with your organization size, -whereas a user based token has a limit of 5000 regardless of how many repositories you have, +* ** User-independent authentication** - Each GitHub app has its own user-independent authentication. No more need for 'bot' users or figuring out who should be the owner of 2FA or OAuth tokens. -* for organizations that have 2FA enforced - no need to manage 2FA tokens for a 'bot' user +* **Improved security and tighter permissions** - GitHub Apps offers much finer-grained permissions compared to a service user and its personal access tokens. This lets the Jenkins GitHub app require a much smaller set of privileges to run properly. -* to improve and tighten security: the Jenkins GitHub app requires a minimum, controlled set of privileges compared to a service user and its personal access token which has a much wider set of privileges - -* access to the GitHub link:https://developer.github.com/v3/checks/[checks API] to create check runs and check suites from Jenkins jobs and provide detailed feedback on commits as well as code annotation +* **Access to GitHub Checks API** - GitHub Apps can access the the link:https://developer.github.com/v3/checks/[GitHub Checks API] to create check runs and check suites from Jenkins jobs and provide detailed feedback on commits as well as code annotation == Getting started Install the link:https://plugins.jenkins.io/github-branch-source/[GitHub Branch Source plugin], -make sure the version is at least 2.7.0-beta1. - -Follow the link:https://github.com/jenkinsci/github-branch-source-plugin/blob/master/docs/github-app.adoc[setup guide]; it's also linked from the plugin’s README on GitHub. +make sure the version is at least 2.7.0-beta1. +Then follow the link:https://github.com/jenkinsci/github-branch-source-plugin/blob/master/docs/github-app.adoc[setup guide]. These instructions are also linked from the plugin’s README on GitHub. Once you've finished setting it up, Jenkins will validate your credential and you should see your new rate limit. Here's an example on a large org: @@ -77,8 +74,11 @@ pipeline { == What's next -There's a proposed Google Summer of Code project: link:https://jenkins.io/projects/gsoc/2020/project-ideas/github-checks/[GitHub Checks API for Jenkins Plugins]. - -This is looking at integrating with the link:https://developer.github.com/v3/checks/[checks api], with a focus on reporting issues found using the link:https://plugins.jenkins.io/warnings-ng/[warnings-ng plugin] directly onto the GitHub pull request, along with test results summary on GitHub. +GitHub Apps authentication in Jenkins is a huge improvement. Many teams have already started using it and have helped improve it by giving pre-release feedback. There are more improvements on the way. -If you want to get involved with this, join the link:https://gitter.im/jenkinsci/gsoc-sig[gitter channel] and ask how you can help. +There's a proposed Google Summer of Code project: link:https://jenkins.io/projects/gsoc/2020/project-ideas/github-checks/[GitHub Checks API for Jenkins Plugins]. +It will look at integrating with the link:https://developer.github.com/v3/checks/[checks api], +with a focus on reporting issues found using the link:https://plugins.jenkins.io/warnings-ng/[warnings-ng plugin] +directly onto the GitHub pull requests, along with test results summary on GitHub. +If you want to get involved with this, join the link:https://gitter.im/jenkinsci/gsoc-sig[gitter channel] +and ask how you can help. From 5ddb9dd307610d03846e5229cdaed3203ee21ade Mon Sep 17 00:00:00 2001 From: Tim Jacomb Date: Wed, 15 Apr 2020 20:30:24 +0100 Subject: [PATCH 10/14] Add more examples and mention token is valid for 1hr --- .../2020-04-16-github-app-authentication.adoc} | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) rename content/blog/2020/{03/2020-03-19-github-app-authentication.adoc => 04/2020-04-16-github-app-authentication.adoc} (89%) diff --git a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc b/content/blog/2020/04/2020-04-16-github-app-authentication.adoc similarity index 89% rename from content/blog/2020/03/2020-03-19-github-app-authentication.adoc rename to content/blog/2020/04/2020-04-16-github-app-authentication.adoc index d57af880559a..779253b1307b 100644 --- a/content/blog/2020/03/2020-03-19-github-app-authentication.adoc +++ b/content/blog/2020/04/2020-04-16-github-app-authentication.adoc @@ -36,7 +36,13 @@ image:/images/github-app-rate-limit.png[GitHub app rate limit] == How do I get an API token in my pipeline? You can access the Bearer token for the GitHub API by just loading a 'Username/Password' credential as usual, -the plugin will handle authenticating with GitHub in the background: +the plugin will handle authenticating with GitHub in the background. + +This could be used to call additional GitHub API endpoints from your pipeline, possibly the +link:https://developer.github.com/v3/repos/deployments/[deployments api] or you may wish to implement your own +links:https://developer.github.com/v3/checks/[checks api] integration until Jenkins supports this out of the box. + +_Note: the api token you get will only be valid for one hour, don't get it at the start of the pipeline and assume it will be valid all the way through_ [source, groovy] ---- From a42e4dfa0abb8576581d5a499dbeb7d7fcd5a532 Mon Sep 17 00:00:00 2001 From: Tim Jacomb Date: Wed, 15 Apr 2020 21:50:30 +0100 Subject: [PATCH 11/14] Apply suggestions from code review Co-Authored-By: Oleg Nenashev --- .../2020-04-16-github-app-authentication.adoc | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/content/blog/2020/04/2020-04-16-github-app-authentication.adoc b/content/blog/2020/04/2020-04-16-github-app-authentication.adoc index 779253b1307b..a454ef97812c 100644 --- a/content/blog/2020/04/2020-04-16-github-app-authentication.adoc +++ b/content/blog/2020/04/2020-04-16-github-app-authentication.adoc @@ -1,15 +1,18 @@ --- layout: post -title: "GitHub app authentication released" +title: "GitHub App authentication support released" tags: - github - github-branch-source +- pipeline +- announcement author: timja --- I'm excited to announce support for authenticating as a GitHub app in Jenkins. +This has been a long awaited feature by many users. -It has been released in link:https://github.com/jenkinsci/github-branch-source-plugin/releases/tag/github-branch-source-2.7.0-beta1[GitHub Branch Source 2.7.0-beta1]. This has been a long awaited feature by many users. +It has been released in link:https://github.com/jenkinsci/github-branch-source-plugin/releases/tag/github-branch-source-2.7.0-beta1[GitHub Branch Source 2.7.0-beta1] which is available in the link:/doc/developer/publishing/releasing-experimental-updates/#using-the-experimental-update-center[Jenkins experimental update center]. Authenticating as a GitHub app brings many benefits: @@ -18,15 +21,16 @@ whereas a user based token has a limit of 5000 regardless of how many repositori * ** User-independent authentication** - Each GitHub app has its own user-independent authentication. No more need for 'bot' users or figuring out who should be the owner of 2FA or OAuth tokens. -* **Improved security and tighter permissions** - GitHub Apps offers much finer-grained permissions compared to a service user and its personal access tokens. This lets the Jenkins GitHub app require a much smaller set of privileges to run properly. +* **Improved security and tighter permissions** - GitHub Apps offer much finer-grained permissions compared to a service user and its personal access tokens. This lets the Jenkins GitHub app require a much smaller set of privileges to run properly. * **Access to GitHub Checks API** - GitHub Apps can access the the link:https://developer.github.com/v3/checks/[GitHub Checks API] to create check runs and check suites from Jenkins jobs and provide detailed feedback on commits as well as code annotation == Getting started Install the link:https://plugins.jenkins.io/github-branch-source/[GitHub Branch Source plugin], -make sure the version is at least 2.7.0-beta1. -Then follow the link:https://github.com/jenkinsci/github-branch-source-plugin/blob/master/docs/github-app.adoc[setup guide]. These instructions are also linked from the plugin’s README on GitHub. +make sure the version is at least `2.7.0-beta1`. +Installation guidelines for beta releases are available link:/doc/developer/publishing/releasing-experimental-updates/#using-the-experimental-update-center[here] +Then follow the link:https://github.com/jenkinsci/github-branch-source-plugin/blob/master/docs/github-app.adoc[GitHub App Authentication setup guide]. These instructions are also linked from the plugin’s README on GitHub. Once you've finished setting it up, Jenkins will validate your credential and you should see your new rate limit. Here's an example on a large org: @@ -35,6 +39,7 @@ image:/images/github-app-rate-limit.png[GitHub app rate limit] == How do I get an API token in my pipeline? +In addition to usage of GitHub App authentication for Multi-Branch Pipeline, you can also app authentication directly in your Pipelines. You can access the Bearer token for the GitHub API by just loading a 'Username/Password' credential as usual, the plugin will handle authenticating with GitHub in the background. @@ -42,7 +47,9 @@ This could be used to call additional GitHub API endpoints from your pipeline, p link:https://developer.github.com/v3/repos/deployments/[deployments api] or you may wish to implement your own links:https://developer.github.com/v3/checks/[checks api] integration until Jenkins supports this out of the box. -_Note: the api token you get will only be valid for one hour, don't get it at the start of the pipeline and assume it will be valid all the way through_ +_Note: the API token you get will only be valid for one hour, don't get it at the start of the pipeline and assume it will be valid all the way through_ + +**Example:** Let's submit a check run to Jenkins from our Pipeline: [source, groovy] ---- @@ -80,11 +87,13 @@ pipeline { == What's next -GitHub Apps authentication in Jenkins is a huge improvement. Many teams have already started using it and have helped improve it by giving pre-release feedback. There are more improvements on the way. +GitHub Apps authentication in Jenkins is a huge improvement. Many teams have already started using it and have helped improve it by giving pre-release feedback. There are more improvements on the way. +I hope that the feature will be released shortly in the main Jenkins update center once they are released. There's a proposed Google Summer of Code project: link:https://jenkins.io/projects/gsoc/2020/project-ideas/github-checks/[GitHub Checks API for Jenkins Plugins]. -It will look at integrating with the link:https://developer.github.com/v3/checks/[checks api], +It will look at integrating with the link:https://developer.github.com/v3/checks/[Checks API], with a focus on reporting issues found using the link:https://plugins.jenkins.io/warnings-ng/[warnings-ng plugin] directly onto the GitHub pull requests, along with test results summary on GitHub. -If you want to get involved with this, join the link:https://gitter.im/jenkinsci/gsoc-sig[gitter channel] +Hopefully it will make the Pipeline example below much simpler for Jenkins users :) +If you want to get involved with this, join the link:https://gitter.im/jenkinsci/gsoc-sig[GSoC Gitter channel] and ask how you can help. From d6284fb6b9f0df976430d1ed8f943fc14742c5a3 Mon Sep 17 00:00:00 2001 From: Tim Jacomb Date: Wed, 15 Apr 2020 22:07:12 +0100 Subject: [PATCH 12/14] Update content/blog/2020/04/2020-04-16-github-app-authentication.adoc Co-Authored-By: Oleg Nenashev --- .../blog/2020/04/2020-04-16-github-app-authentication.adoc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/content/blog/2020/04/2020-04-16-github-app-authentication.adoc b/content/blog/2020/04/2020-04-16-github-app-authentication.adoc index a454ef97812c..a4b718779216 100644 --- a/content/blog/2020/04/2020-04-16-github-app-authentication.adoc +++ b/content/blog/2020/04/2020-04-16-github-app-authentication.adoc @@ -30,7 +30,10 @@ whereas a user based token has a limit of 5000 regardless of how many repositori Install the link:https://plugins.jenkins.io/github-branch-source/[GitHub Branch Source plugin], make sure the version is at least `2.7.0-beta1`. Installation guidelines for beta releases are available link:/doc/developer/publishing/releasing-experimental-updates/#using-the-experimental-update-center[here] -Then follow the link:https://github.com/jenkinsci/github-branch-source-plugin/blob/master/docs/github-app.adoc[GitHub App Authentication setup guide]. These instructions are also linked from the plugin’s README on GitHub. + +== Configuring the GitHub Organization Folder + +Follow the link:https://github.com/jenkinsci/github-branch-source-plugin/blob/master/docs/github-app.adoc[GitHub App Authentication setup guide]. These instructions are also linked from the plugin’s README on GitHub. Once you've finished setting it up, Jenkins will validate your credential and you should see your new rate limit. Here's an example on a large org: From 34325efc1236f0e26a8d615349c1be9ab662dbc3 Mon Sep 17 00:00:00 2001 From: Tim Jacomb Date: Thu, 16 Apr 2020 07:49:20 +0100 Subject: [PATCH 13/14] Add social media image --- .../2020-04-16-github-app-authentication.adoc | 2 ++ .../images/post-images/jenkins-and-github.png | Bin 0 -> 172258 bytes 2 files changed, 2 insertions(+) create mode 100644 content/images/post-images/jenkins-and-github.png diff --git a/content/blog/2020/04/2020-04-16-github-app-authentication.adoc b/content/blog/2020/04/2020-04-16-github-app-authentication.adoc index a4b718779216..1bd16935fff4 100644 --- a/content/blog/2020/04/2020-04-16-github-app-authentication.adoc +++ b/content/blog/2020/04/2020-04-16-github-app-authentication.adoc @@ -7,6 +7,8 @@ tags: - pipeline - announcement author: timja +opengraph: + image: /images/post-images/jenkins-and-github.png --- I'm excited to announce support for authenticating as a GitHub app in Jenkins. diff --git a/content/images/post-images/jenkins-and-github.png b/content/images/post-images/jenkins-and-github.png new file mode 100644 index 0000000000000000000000000000000000000000..ec40646931da23b286df79f7fadaaad995bd649b GIT binary patch literal 172258 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 j7nUJlU_)|&3&$V(ZVQjdH Date: Thu, 16 Apr 2020 07:52:38 +0100 Subject: [PATCH 14/14] rendering tweaks --- .../blog/2020/04/2020-04-16-github-app-authentication.adoc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/content/blog/2020/04/2020-04-16-github-app-authentication.adoc b/content/blog/2020/04/2020-04-16-github-app-authentication.adoc index 1bd16935fff4..63ff8ea2d50e 100644 --- a/content/blog/2020/04/2020-04-16-github-app-authentication.adoc +++ b/content/blog/2020/04/2020-04-16-github-app-authentication.adoc @@ -16,7 +16,7 @@ This has been a long awaited feature by many users. It has been released in link:https://github.com/jenkinsci/github-branch-source-plugin/releases/tag/github-branch-source-2.7.0-beta1[GitHub Branch Source 2.7.0-beta1] which is available in the link:/doc/developer/publishing/releasing-experimental-updates/#using-the-experimental-update-center[Jenkins experimental update center]. - Authenticating as a GitHub app brings many benefits: +Authenticating as a GitHub app brings many benefits: * **Larger rate limits** - The rate limit for a GitHub app scales with your organization size, whereas a user based token has a limit of 5000 regardless of how many repositories you have. @@ -44,13 +44,13 @@ image:/images/github-app-rate-limit.png[GitHub app rate limit] == How do I get an API token in my pipeline? -In addition to usage of GitHub App authentication for Multi-Branch Pipeline, you can also app authentication directly in your Pipelines. +In addition to usage of GitHub App authentication for Multi-Branch Pipeline, you can also use app authentication directly in your Pipelines. You can access the Bearer token for the GitHub API by just loading a 'Username/Password' credential as usual, the plugin will handle authenticating with GitHub in the background. This could be used to call additional GitHub API endpoints from your pipeline, possibly the link:https://developer.github.com/v3/repos/deployments/[deployments api] or you may wish to implement your own -links:https://developer.github.com/v3/checks/[checks api] integration until Jenkins supports this out of the box. +link:https://developer.github.com/v3/checks/[checks api] integration until Jenkins supports this out of the box. _Note: the API token you get will only be valid for one hour, don't get it at the start of the pipeline and assume it will be valid all the way through_ @@ -93,7 +93,6 @@ pipeline { == What's next GitHub Apps authentication in Jenkins is a huge improvement. Many teams have already started using it and have helped improve it by giving pre-release feedback. There are more improvements on the way. -I hope that the feature will be released shortly in the main Jenkins update center once they are released. There's a proposed Google Summer of Code project: link:https://jenkins.io/projects/gsoc/2020/project-ideas/github-checks/[GitHub Checks API for Jenkins Plugins]. It will look at integrating with the link:https://developer.github.com/v3/checks/[Checks API],