Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-36599

API to validate github access key and retrieve scopes

      In Scope

      • New plugin blueocean-github where the REST and UI for Github integration will live.
      • Exposes a REST API to validate an access token against a github API endpoint
      • returns OK or error with message (e.g. "scopes were missing")
      • Allow any github endpoint (e.g. https://api.github.com or http://github.internal.corp/api)

      Notes

      • Any REST call to Github will return a header X-OAuth-Scopes with a comma separated list of scopes available for the credentials you are using
      • The best REST call to make would be the /user endpoint that returns the authenticated users identity

          [JENKINS-36599] API to validate github access key and retrieve scopes

          James Dumay created issue -
          James Dumay made changes -
          Epic Link New: JENKINS-36588 [ 172614 ]

          James Dumay added a comment -

          coervivek michaelneale WDYT of having a blueocean-github plugin that contains all the github specific REST endpoints and UI for the creation flow? See the description above.

          James Dumay added a comment - coervivek michaelneale WDYT of having a blueocean-github plugin that contains all the github specific REST endpoints and UI for the creation flow? See the description above.
          James Dumay made changes -
          Summary Original: API to test github credentials and retrieve scopes New: API to test github access key and retrieve scopes
          James Dumay made changes -
          Description Original: In Scope
          * New plugin {{blueocean-github}} where the REST and UI for Github integration will live.
          * Exposes a REST API to test a access token against a github API endpoint
          * Testing returns the list of oauth scopes that the credentials will allow and the users name
          * Allow any github endpoint (e.g. https://api.github.com or http://github.internal.corp/api)

          Notes
          * [Any REST call to Github
          https://developer.github.com/v3/oauth/#scopes] will return a header {{X-OAuth-Scopes}} with a comma separated list of scopes available for the credentials you are using
          * The best REST call to make would be the [/user|https://developer.github.com/v3/users/#get-the-authenticated-user] endpoint that returns the authenticated users identity
          New: In Scope
          * New plugin {{blueocean-github}} where the REST and UI for Github integration will live.
          * Exposes a REST API to test a access token against a github API endpoint
          * Testing returns the list of oauth scopes that the credentials will allow and the users name
          * Allow any github endpoint (e.g. https://api.github.com or http://github.internal.corp/api)

          Notes
          * [Any REST call to Github|https://developer.github.com/v3/oauth/#scopes] will return a header {{X-OAuth-Scopes}} with a comma separated list of scopes available for the credentials you are using
          * The best REST call to make would be the [/user|https://developer.github.com/v3/users/#get-the-authenticated-user] endpoint that returns the authenticated users identity
          James Dumay made changes -
          Link New: This issue blocks JENKINS-36600 [ JENKINS-36600 ]
          James Dumay made changes -
          Link New: This issue blocks JENKINS-36601 [ JENKINS-36601 ]

          Michael Neale added a comment -

          cc vivek (wrong vivek jamesdumay!).

          I think this makes sense at a high level, not mudding up blue ocean with github specifics. This is assuming that there needs to be github specifics that aren't in the github/ plugins that are pre-existing and exposed via a generic blue ocean api?

          Michael Neale added a comment - cc vivek (wrong vivek jamesdumay !). I think this makes sense at a high level, not mudding up blue ocean with github specifics. This is assuming that there needs to be github specifics that aren't in the github/ plugins that are pre-existing and exposed via a generic blue ocean api?

          Vivek Pandey added a comment -

          jamesdumay

          Keeping github specific functionality in it's own plugin is good. However not sure what's the use case for these?

          • Exposes a REST API to test a access token against a github API endpoint
          • Testing returns the list of oauth scopes that the credentials will allow and the users name

          We do not want to give the access token to the client (github tokens live forever), basically its never supposed to escape the plugin backend. So why expose it via REST API?

          Vivek Pandey added a comment - jamesdumay Keeping github specific functionality in it's own plugin is good. However not sure what's the use case for these? Exposes a REST API to test a access token against a github API endpoint Testing returns the list of oauth scopes that the credentials will allow and the users name We do not want to give the access token to the client (github tokens live forever), basically its never supposed to escape the plugin backend. So why expose it via REST API?

          Michael Neale added a comment -

          vivek I think the idea is to test it when the user provides it, perhaps it is not described as clearly as it should be.

          Michael Neale added a comment - vivek I think the idea is to test it when the user provides it, perhaps it is not described as clearly as it should be.

            Unassigned Unassigned
            jamesdumay James Dumay
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: