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

API to write a single file to the repository

    XMLWordPrintable

    Details

    • Similar Issues:
    • Sprint:
      frank, tethys, christmas

      Description

      Requirements

      • Write natively to any branch of a Git repository hosted on Github
      • Write to any branch of a Git repository
      • Must maintain compatibility with Jenkins 2.7.1 and above

      Desired user experience

        Attachments

          Issue Links

            Activity

            hrmpw Patrick Wolf created issue -
            hrmpw Patrick Wolf made changes -
            Field Original Value New Value
            Epic Link JENKINS-36291 [ 172300 ]
            hrmpw Patrick Wolf made changes -
            Link This issue relates to JENKINS-33273 [ JENKINS-33273 ]
            hrmpw Patrick Wolf made changes -
            Link This issue duplicates JENKINS-39355 [ JENKINS-39355 ]
            hrmpw Patrick Wolf made changes -
            Link This issue relates to JENKINS-41966 [ JENKINS-41966 ]
            hrmpw Patrick Wolf made changes -
            Component/s scm-api-plugin [ 18054 ]
            hrmpw Patrick Wolf made changes -
            Description *Scope*
            * Github

            *Out of scope*
            * Git and Bitbucket support

            *Notes*
            For the [Blue Ocean Pipeline Editor|https://jenkins.io/blog/2016/09/19/blueocean-beta-declarative-pipeline-pipeline-editor/] we want to read the Jenkinsfile from the repository, let the user author it in the editor then commit it back to the repository.

            We need a new API and relevant implementations (Github and Bitbucket) that would allow Blue Ocean to read/write a file from the repository.

            [~jglick] said there is beginnings of this in the scm-api but no implementations.
            *Scope*
            * Github

            *Out of scope*
            * Git and Bitbucket support

            *Notes*
            For the [Blue Ocean Pipeline Editor|https://jenkins.io/blog/2016/09/19/blueocean-beta-declarative-pipeline-pipeline-editor/] we want to save the Jenkinsfile, let the user author it in the editor then commit it back to the repository.

            We need a new API and relevant implementations (Github and Bitbucket) that would allow Blue Ocean to read/write a file from the repository.

            [~jglick] said there is beginnings of this in the scm-api but no implementations.
            hrmpw Patrick Wolf made changes -
            Description *Scope*
            * Github

            *Out of scope*
            * Git and Bitbucket support

            *Notes*
            For the [Blue Ocean Pipeline Editor|https://jenkins.io/blog/2016/09/19/blueocean-beta-declarative-pipeline-pipeline-editor/] we want to save the Jenkinsfile, let the user author it in the editor then commit it back to the repository.

            We need a new API and relevant implementations (Github and Bitbucket) that would allow Blue Ocean to read/write a file from the repository.

            [~jglick] said there is beginnings of this in the scm-api but no implementations.
            *Scope*
            * Primary
            ** Github
            ** Github Enterprise
            * Secondary
            ** Bitbucket Server
            ** Bitbucket Cloud

            *Out of scope*
            * Git and support

            *Notes*
            For the [Blue Ocean Pipeline Editor|https://jenkins.io/blog/2016/09/19/blueocean-beta-declarative-pipeline-pipeline-editor/] we want to save the Jenkinsfile, let the user author it in the editor then commit it back to the repository.

            We need a new API and relevant implementations (Github and Bitbucket) that would allow Blue Ocean to read/write a file from the repository.

            [~jglick] said there is beginnings of this in the scm-api but no implementations.
            hrmpw Patrick Wolf made changes -
            Description *Scope*
            * Primary
            ** Github
            ** Github Enterprise
            * Secondary
            ** Bitbucket Server
            ** Bitbucket Cloud

            *Out of scope*
            * Git and support

            *Notes*
            For the [Blue Ocean Pipeline Editor|https://jenkins.io/blog/2016/09/19/blueocean-beta-declarative-pipeline-pipeline-editor/] we want to save the Jenkinsfile, let the user author it in the editor then commit it back to the repository.

            We need a new API and relevant implementations (Github and Bitbucket) that would allow Blue Ocean to read/write a file from the repository.

            [~jglick] said there is beginnings of this in the scm-api but no implementations.
            *Scope*
            * Primary
            ** Github
            ** Github Enterprise
            * Secondary
            ** Bitbucket Server
            ** Bitbucket Cloud

            *Out of scope*
            * Git and others support

            *Notes*
            For the [Blue Ocean Pipeline Editor|https://jenkins.io/blog/2016/09/19/blueocean-beta-declarative-pipeline-pipeline-editor/] we want to save the Jenkinsfile, let the user author it in the editor then commit it back to the repository.

            We need a new API and relevant implementations (Github and Bitbucket) that would allow Blue Ocean to read/write a file from the repository.

            [~jglick] said there is beginnings of this in the scm-api but no implementations.
            hrmpw Patrick Wolf made changes -
            Description *Scope*
            * Primary
            ** Github
            ** Github Enterprise
            * Secondary
            ** Bitbucket Server
            ** Bitbucket Cloud

            *Out of scope*
            * Git and others support

            *Notes*
            For the [Blue Ocean Pipeline Editor|https://jenkins.io/blog/2016/09/19/blueocean-beta-declarative-pipeline-pipeline-editor/] we want to save the Jenkinsfile, let the user author it in the editor then commit it back to the repository.

            We need a new API and relevant implementations (Github and Bitbucket) that would allow Blue Ocean to read/write a file from the repository.

            [~jglick] said there is beginnings of this in the scm-api but no implementations.
            *Scope*
            * Primary
            ** Github
            ** Github Enterprise
            * Secondary
            ** Bitbucket Server
            ** Bitbucket Cloud

            *Out of scope*
            * Git and others support

            *Notes*
            For the [Blue Ocean Pipeline Editor|https://jenkins.io/blog/2016/09/19/blueocean-beta-declarative-pipeline-pipeline-editor/], let the user author it in the editor then commit it back to the repository.

            We need a new API and relevant implementations (Github and Bitbucket) that would allow Blue Ocean to write a file from the repository.

            [
            hrmpw Patrick Wolf made changes -
            Description *Scope*
            * Primary
            ** Github
            ** Github Enterprise
            * Secondary
            ** Bitbucket Server
            ** Bitbucket Cloud

            *Out of scope*
            * Git and others support

            *Notes*
            For the [Blue Ocean Pipeline Editor|https://jenkins.io/blog/2016/09/19/blueocean-beta-declarative-pipeline-pipeline-editor/], let the user author it in the editor then commit it back to the repository.

            We need a new API and relevant implementations (Github and Bitbucket) that would allow Blue Ocean to write a file from the repository.

            [
            *Scope*
            * Primary
            ** Github
            ** Github Enterprise
            * Secondary
            ** Bitbucket Server
            ** Bitbucket Cloud

            *Out of scope*
            * Git and others support

            *Notes*
            For the [Blue Ocean Pipeline Editor|https://jenkins.io/blog/2016/09/19/blueocean-beta-declarative-pipeline-pipeline-editor/], let the user author it in the editor then commit it back to the repository.

            We need a new API and relevant implementations (Github and Bitbucket) that would allow Blue Ocean to write a file from the repository.
            jamesdumay James Dumay made changes -
            Description *Scope*
            * Primary
            ** Github
            ** Github Enterprise
            * Secondary
            ** Bitbucket Server
            ** Bitbucket Cloud

            *Out of scope*
            * Git and others support

            *Notes*
            For the [Blue Ocean Pipeline Editor|https://jenkins.io/blog/2016/09/19/blueocean-beta-declarative-pipeline-pipeline-editor/], let the user author it in the editor then commit it back to the repository.

            We need a new API and relevant implementations (Github and Bitbucket) that would allow Blue Ocean to write a file from the repository.
            *Scope*
            * Write natively to any branch of a Git repository hosted on Github
            * Write to any branch of a Git repository
            * Must not require a Jenkins core upgrade. Must maintain compatibility with Jenkins 2.7.1 and above.

            *Desired user experience*
            Mockup: https://projects.invisionapp.com/share/Q2A110KM9#/screens/219088047
            jamesdumay James Dumay made changes -
            Description *Scope*
            * Write natively to any branch of a Git repository hosted on Github
            * Write to any branch of a Git repository
            * Must not require a Jenkins core upgrade. Must maintain compatibility with Jenkins 2.7.1 and above.

            *Desired user experience*
            Mockup: https://projects.invisionapp.com/share/Q2A110KM9#/screens/219088047
            *Scope*
            * Write natively to any branch of a Git repository hosted on Github
            * Write to any branch of a Git repository
            * Must not require a Jenkins core upgrade. Must maintain compatibility with Jenkins 2.7.1 and above.

            *Desired user experience*
            Mockup: https://projects.invisionapp.com/share/Q2A110KM9#/screens/219088047

            *Notes*
            [~jglick] said there is beginnings of this in the scm-api but no implementations.
            jamesdumay James Dumay made changes -
            Link This issue is blocking JENKINS-36291 [ JENKINS-36291 ]
            jamesdumay James Dumay made changes -
            Description *Scope*
            * Write natively to any branch of a Git repository hosted on Github
            * Write to any branch of a Git repository
            * Must not require a Jenkins core upgrade. Must maintain compatibility with Jenkins 2.7.1 and above.

            *Desired user experience*
            Mockup: https://projects.invisionapp.com/share/Q2A110KM9#/screens/219088047

            *Notes*
            [~jglick] said there is beginnings of this in the scm-api but no implementations.
            *Scope*
            * Write natively to any branch of a Git repository hosted on Github
            * Write to any branch of a Git repository
            * Must not require a Jenkins core upgrade. Must maintain compatibility with Jenkins 2.7.1 and above.

            *Desired user experience*
            * User experience is described in JENKINS-41966
            * Mockup: https://projects.invisionapp.com/share/Q2A110KM9#/screens/219088047

            *Notes*
            [~jglick] said there is beginnings of this in the scm-api but no implementations.
            jamesdumay James Dumay made changes -
            Description *Scope*
            * Write natively to any branch of a Git repository hosted on Github
            * Write to any branch of a Git repository
            * Must not require a Jenkins core upgrade. Must maintain compatibility with Jenkins 2.7.1 and above.

            *Desired user experience*
            * User experience is described in JENKINS-41966
            * Mockup: https://projects.invisionapp.com/share/Q2A110KM9#/screens/219088047

            *Notes*
            [~jglick] said there is beginnings of this in the scm-api but no implementations.
            *Requirements*
            * Write natively to any branch of a Git repository hosted on Github
            * Write to any branch of a Git repository
            * Must not require a Jenkins core upgrade. Must maintain compatibility with Jenkins 2.7.1 and above.

            *Desired user experience*
            * User experience is described in JENKINS-41966
            * Mockup: https://projects.invisionapp.com/share/Q2A110KM9#/screens/219088047

            *Notes*
            [~jglick] said there is beginnings of this in the scm-api but no implementations.
            jamesdumay James Dumay made changes -
            Description *Requirements*
            * Write natively to any branch of a Git repository hosted on Github
            * Write to any branch of a Git repository
            * Must not require a Jenkins core upgrade. Must maintain compatibility with Jenkins 2.7.1 and above.

            *Desired user experience*
            * User experience is described in JENKINS-41966
            * Mockup: https://projects.invisionapp.com/share/Q2A110KM9#/screens/219088047

            *Notes*
            [~jglick] said there is beginnings of this in the scm-api but no implementations.
            *Requirements*
            * Write natively to any branch of a Git repository hosted on Github
            * Write to any branch of a Git repository
            * Must maintain compatibility with Jenkins 2.7.1 and above

            *Desired user experience*
            * User experience is described in JENKINS-41966
            * Mockup: https://projects.invisionapp.com/share/Q2A110KM9#/screens/219088047

            *Notes*
            [~jglick] said there is beginnings of this in the scm-api but no implementations.
            hrmpw Patrick Wolf made changes -
            Sprint frank, tethys, christmas, post-release [ 156, 161, 176, 181 ] frank, tethys, christmas [ 156, 161, 176 ]
            jglick Jesse Glick made changes -
            Link This issue relates to JENKINS-39703 [ JENKINS-39703 ]
            Hide
            jglick Jesse Glick added a comment -

            Jesse Glick said there is beginnings of this in the scm-api

            No, there has never been any proposed API to write files. Sounds like a battle which should not be picked—just provide a downloadable file and ask people to commit it when ready.

            Show
            jglick Jesse Glick added a comment - Jesse Glick said there is beginnings of this in the scm-api No, there has never been any proposed API to write files. Sounds like a battle which should not be picked—just provide a downloadable file and ask people to commit it when ready.
            Hide
            hrmpw Patrick Wolf added a comment -

            This was cloned from JENKINS-39703 Jesse Glick and the comment is from you referring to the Read API. I split this off to track the write API separately.

            Show
            hrmpw Patrick Wolf added a comment - This was cloned from JENKINS-39703 Jesse Glick and the comment is from you referring to the Read API. I split this off to track the write API separately.
            hrmpw Patrick Wolf made changes -
            Description *Requirements*
            * Write natively to any branch of a Git repository hosted on Github
            * Write to any branch of a Git repository
            * Must maintain compatibility with Jenkins 2.7.1 and above

            *Desired user experience*
            * User experience is described in JENKINS-41966
            * Mockup: https://projects.invisionapp.com/share/Q2A110KM9#/screens/219088047

            *Notes*
            [~jglick] said there is beginnings of this in the scm-api but no implementations.
            *Requirements*
            * Write natively to any branch of a Git repository hosted on Github
            * Write to any branch of a Git repository
            * Must maintain compatibility with Jenkins 2.7.1 and above

            *Desired user experience*
            * User experience is described in JENKINS-41966
            * Mockup: https://projects.invisionapp.com/share/Q2A110KM9#/screens/219088047
            jamesdumay James Dumay made changes -
            Sprint frank, tethys, christmas [ 156, 161, 176 ] frank, tethys, christmas, 1.1 [ 156, 161, 176, 251 ]
            jamesdumay James Dumay made changes -
            Rank Ranked lower
            jamesdumay James Dumay made changes -
            Rank Ranked higher
            jamesdumay James Dumay made changes -
            Priority Major [ 3 ] Critical [ 2 ]
            jamesdumay James Dumay made changes -
            Rank Ranked higher
            jamesdumay James Dumay made changes -
            Rank Ranked higher
            Hide
            jglick Jesse Glick added a comment -

            As noted in JENKINS-39703, SCMFile may need to add some methods to define some new abstract type SCMFileContent which has contentAsBytes etc. but also a replace method—since GitHub does not let you overwrite a file without specifying what you are overwriting (presumably to avoid data loss with non-fast-forward merges).

            Show
            jglick Jesse Glick added a comment - As noted in JENKINS-39703 , SCMFile may need to add some methods to define some new abstract type SCMFileContent which has contentAsBytes etc. but also a replace method—since GitHub does not let you overwrite a file without specifying what you are overwriting (presumably to avoid data loss with non-fast-forward merges).
            jamesdumay James Dumay made changes -
            Rank Ranked higher
            jamesdumay James Dumay made changes -
            Rank Ranked lower
            jamesdumay James Dumay made changes -
            Sprint frank, tethys, christmas, Blue Ocean up next [ 156, 161, 176, 251 ] frank, tethys, christmas [ 156, 161, 176 ]
            jamesdumay James Dumay made changes -
            Rank Ranked lower
            Hide
            jamesdumay James Dumay added a comment -

            We've a method around this now.

            Show
            jamesdumay James Dumay added a comment - We've a method around this now.
            jamesdumay James Dumay made changes -
            Resolution Won't Do [ 10001 ]
            Status Open [ 1 ] Resolved [ 5 ]
            bitwiseman Liam Newman made changes -
            Status Resolved [ 5 ] Closed [ 6 ]

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              hrmpw Patrick Wolf
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: