For the record, I got around this by using a string parameter. It's a bit of a rigmarole, since I have to escape the diff to use it as a string parameter, and then write that string to a file before using it in Hg Patch (it may be possible to skip that step if I can work out how to pass it vias stdin without losing quotes), but it seems to work... at least for a small test diff.
On Thursday, May 19, 2016 at 7:39:55 PM UTC+1, Jonathan Hodgson wrote: > > The problem is, right now I'm not getting it to the build... but the idea > is that the diff is generated locally and a build started by a local > command line script, along the lines of this... > > https://codeascraft.com/2011/10/11/did-you-try-it-before-you-committed/ > > It looks like one possibility is to escape the diff and then send it as a > string parameter, is there a limit to the size one parameter can be, or is > it just for the total POST? > > > On Thursday, May 19, 2016 at 7:30:40 PM UTC+1, Brian Ray wrote:g >> >> Gotcha, did not follow how you were getting it across to the build. >> >> On Thursday, May 19, 2016 at 4:15:06 AM UTC-7, Jonathan Hodgson wrote: >>> >>> The remote machine currently isn't sharing the file, that's part of the >>> point of uploading it in the http POST, sorting out a share seems like it >>> would be an issue, it needs to be dynamic. >>> >>> On Thursday, May 19, 2016 at 2:25:47 AM UTC+1, Brian Ray wrote: >>>> >>>> Sorry, the API was URL#withInputStream, not #withReader. >>>> >>>> On Wednesday, May 18, 2016 at 6:24:11 PM UTC-7, Brian Ray wrote: >>>>> >>>>> Aha. Pipeline's under heavy development so unfortunately, there are >>>>> gaps like this. >>>>> >>>>> How's the remote machine sharing the file? Windows directory share, >>>>> e.g.? >>>>> >>>>> Depending on the type of file and how it's shared will likely >>>>> determine the strategy. I had no success getting a pipeline script to use >>>>> the Groovy GDK URL#withReader API to slurp a file from a URL and plop it >>>>> into the workspace with the *writeFile *step but that was several >>>>> revisions back with Pipeline. Instead I do the same with a Groovy script >>>>> executed via a *sh/bat* step, inside a *node* block. But that fit my >>>>> use case. >>>>> >>>>> On Wednesday, May 18, 2016 at 9:39:10 AM UTC-7, Jonathan Hodgson wrote: >>>>>> >>>>>> Thanks, >>>>>> >>>>>> What I've found so far also seems to indicate there is an issue with >>>>>> File Parameters in Pipeline plugins. If that's the case then it really >>>>>> begs >>>>>> the question as to why they're an option on the pipeline project setup >>>>>> page. >>>>>> >>>>>> I'm having trouble seeing how I'm going to do what I need to do >>>>>> though, because the file has to be provided from a remote machine in the >>>>>> build call.. it's a diff file, I need to achieve a "try before commit". >>>>>> >>>>>> As I said, I'm rather new to Jenkins. >>>>>> >>>>>> On Wednesday, May 18, 2016 at 5:14:37 PM UTC+1, Brian Ray wrote: >>>>>>> >>>>>>> Not 100% sure but I suspect that Pipeline job params can only be >>>>>>> "regular" String parameters and perhaps param types whose values easily >>>>>>> resolve to strings. My gut instinct is that more exotic param types >>>>>>> that >>>>>>> have side effects--like the File type--will not work. >>>>>>> >>>>>>> So in the current use case the straightforward workaround would be >>>>>>> to use a String parameter to specify a filesystem path or URI, and then >>>>>>> have the Pipeline script place it in the workspace. There may be >>>>>>> Pipeline-friendly plugins that could do this for you as well, though >>>>>>> they >>>>>>> are not coming to mind. (In our use cases all resources needed in the >>>>>>> workspace come from *checkout* steps against a source repo and some >>>>>>> custom scripting to grab binary artifacts from Artifactory.) >>>>>>> >>>>>>> On Wednesday, May 18, 2016 at 12:53:13 AM UTC-7, Jonathan Hodgson >>>>>>> wrote: >>>>>>>> >>>>>>>> Ok, I tried creating two projects, one a freestyle job, the other a >>>>>>>> pipeline. >>>>>>>> >>>>>>>> The only thing I set up in each was a file as parameter. I ran a >>>>>>>> "Build using parameters" selecting the same file to upload. >>>>>>>> >>>>>>>> When I tried to view the file in the freestyle job, it worked, but >>>>>>>> in the pipeline job I got the same error as above. >>>>>>>> >>>>>>>> On Wednesday, May 18, 2016 at 2:21:11 AM UTC+1, Jonathan Hodgson >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> I've been experimenting, and if I do what appears to be exactly >>>>>>>>> the same thing with a Freestyle project, file upload is successful. >>>>>>>>> >>>>>>>>> I can't state yet whether the freestyle/pipeline job difference >>>>>>>>> coinciding with a failure to upload the file is a coincidence, or the >>>>>>>>> deciding factor. >>>>>>>>> >>>>>>>> -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/0790b99a-d22f-47c9-ad83-19447de6a936%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
