hackattack / bamboo-github-status Goto Github PK
View Code? Open in Web Editor NEWA plugin for Atlassian Bamboo that reports build results to the GitHub status API
License: MIT License
A plugin for Atlassian Bamboo that reports build results to the GitHub status API
License: MIT License
Hi,
I notice in the readme that you say that if you use Github enterprise you can set the property ATLASSIAN_BAMBOO_GITHUB_API_BASE_URL to point the plugin at your internal github instance. Unfortunately, I think this no longer works as:
a) this plugin (quite reasonably!) only works when your repository type is set to "github" (as opposed to git)
b) When you set your repository type to github, Bamboo will always try and check out your source from "github.com", regardless of what ATLASSIAN_BAMBOO_GITHUB_API_BASE_URL is set to.
Clearly fixing bamboo so it would support github enterprise would be the preferred solution, but I guess that is at the whim of Atlassian. With that in mind I was wondering if it were possible to make this plugin work when the type of the repo was set to git? Obviously we would need some way of distinguishing between repos that are github enterprise (and thus eligible for build status updates) and other git repos (which won't be), but hopefully this can be achieved.
I'm willing to put in a bit of time to help with this if you think it's viable.
If there are multiple repos associated with the plan, we don't know which one to update so we don't do anything. Allow selection of which repo to update in the GUI.
Hello, I tried to set this up on a Cloud instance and Bamboo comes back with:
The add-on at https://marketplace.atlassian.com/download/plugins/com.mhackner.bamboo-github-status/version/100100 cannot be installed on this OnDemand instance.
Given that I have a custom image, can I somehow install this plugin manually there and call it with a script action in Bamboo?
Thanks!
Hello
Any plans to make this App to be compatible with latest Bamboo 7.2 server version?
Much appreciated.
I tried enabling this add-on in my Bamboo instance, and I'm getting failures like this:
java.lang.IllegalArgumentException: Unknown RepositoryDefinition 167477355
at com.atlassian.bamboo.v2.build.BuildChangesImpl.getBuildRepositoryChanges(BuildChangesImpl.java:211)
at com.atlassian.bamboo.v2.build.BuildChangesImpl.getVcsRevisionKey(BuildChangesImpl.java:65)
at com.mhackner.bamboo.AbstractGitHubStatusAction.updateStatus(AbstractGitHubStatusAction.java:54)
at com.mhackner.bamboo.GitHubStatusPostStage.execute(GitHubStatusPostStage.java:30)
at com.atlassian.bamboo.chains.ChainPluginSupportImpl$6.call(ChainPluginSupportImpl.java:203)
at com.atlassian.bamboo.chains.ChainPluginSupportImpl$6.call(ChainPluginSupportImpl.java:199)
at com.atlassian.bamboo.chains.ChainPluginSupportImpl$2.call(ChainPluginSupportImpl.java:113)
at com.atlassian.bamboo.chains.ChainPluginSupportImpl$2.call(ChainPluginSupportImpl.java:108)
at com.atlassian.bamboo.plugin.BambooPluginUtils.callUnsafeCode(BambooPluginUtils.java:132)
at com.atlassian.bamboo.chains.ChainPluginSupportImpl.callActionFunction(ChainPluginSupportImpl.java:107)
at com.atlassian.bamboo.chains.ChainPluginSupportImpl.access$000(ChainPluginSupportImpl.java:45)
at com.atlassian.bamboo.chains.ChainPluginSupportImpl$1.run(ChainPluginSupportImpl.java:95)
at com.atlassian.bamboo.variable.CustomVariableContextImpl.withVariableSubstitutor(CustomVariableContextImpl.java:206)
at com.atlassian.bamboo.variable.CustomVariableContextRunnerImpl.execute(CustomVariableContextRunnerImpl.java:33)
at com.atlassian.bamboo.chains.ChainPluginSupportImpl.withCustomVariableContext(ChainPluginSupportImpl.java:90)
at com.atlassian.bamboo.chains.ChainPluginSupportImpl.stageCompleted(ChainPluginSupportImpl.java:198)
at sun.reflect.GeneratedMethodAccessor2572.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at com.sun.proxy.$Proxy178.stageCompleted(Unknown Source)
at com.atlassian.bamboo.chains.ChainExecutionManagerImpl$4.run(ChainExecutionManagerImpl.java:758)
at io.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:302)
at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.execute(ChainExecutionManagerImpl.java:693)
at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.access$1300(ChainExecutionManagerImpl.java:123)
at com.atlassian.bamboo.chains.ChainExecutionManagerImpl$2$1.run(ChainExecutionManagerImpl.java:484)
at io.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:302)
at com.atlassian.bamboo.chains.ChainExecutionManagerImpl$2.run(ChainExecutionManagerImpl.java:465)
at io.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:302)
at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.onBuildFinished(ChainExecutionManagerImpl.java:448)
at sun.reflect.GeneratedMethodAccessor573.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:36)
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1$1.run(AsynchronousAbleEventDispatcher.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:51)
at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:31)
at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:20)
at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:52)
at java.lang.Thread.run(Thread.java:745)
Since there doesn't seem to be much I can do configuration-wise, I'm not clear what I could do to fix this. Any ideas?
Hi,
i've just updated our bamboo version to 5.15.3. Coming with this update the plugin stopped working for us. Bamboo is telling me that the current version 1.6 of the plugin is incompatible. Is there a new release planned ?
We'd much like to use this plugin but we need to be able to configure the Github API url ATLASSIAN_BAMBOO_GITHUB_API_BASE_URL
to use our internal Address. Do you think this is a feature that can be easily implemented?
hub4j/github-api@7735ede fixed an issue where the github API response may return an ID larger than the range of int.
The current version of the github-status addon may cause bamboo to fail to complete a build in case the returned id is out of range.
When running Repository Stored Specs from GitHub, the Bamboo Plan cannot be created because of a null that is passed from Configuration.java
bamboo-github-status
plugin is installedBamboo Specs runs successfully and the Plan is created
The following appears in the Specs Status error log:
Could not parse key 'null'
java.lang.IllegalArgumentException: Could not parse key 'null'
at com.atlassian.bamboo.plan.PlanKeys.getPlanKey(PlanKeys.java:244)
at com.mhackner.bamboo.Configuration.addDefaultValues(Configuration.java:53)
at com.atlassian.bamboo.configuration.external.helpers.BuildConfigurationPluginsExportHelper.lambda$addDefaultValues$2(BuildConfigurationPluginsExportHelper.java:36)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
...
From the Stack trace, I was able to find that the issue was coming from c.m.b.Configuration#addDefaultValues()
. The only workaround for now is to Disable the bamboo-github-status
Plugin.
This issue was reported via Atlassian Support, and I am the Support Engineer for Bamboo on the ticket
Using a Pre-Stage Action Module causes the initial call to happen before the job is even queued. It should wait until the job starts.
Hello Can you provide a documentation to install your bamboo plugin ?
No status gets sent if the build fails due to a merge conflict.
Please @HackAttack ?
java.lang.NoSuchMethodError: com.atlassian.bamboo.plugins.git.GitHubRepository.getEncryptedPassword()Ljava/lang/String;
at com.mhackner.bamboo.AbstractGitHubStatusAction.setStatus(AbstractGitHubStatusAction.java:89)
at com.mhackner.bamboo.AbstractGitHubStatusAction.updateStatus(AbstractGitHubStatusAction.java:57)
at com.mhackner.bamboo.GitHubStatusPreStage.execute(GitHubStatusPreStage.java:22)
Hi,
i've installed the plugin on a server installation of bamboo 5.8.1.The github repository is a private one. I could not find any possibility to configure the plugin (it is enabled). Did i miss something ? Do i need to activate it per plan or repository ? :-)
If "XSRF Protection" is enabled in Bamboo -> Configuration -> Security -> Security Settings, this plugin causes an error when viewing the Miscellaneous build config tab for the first time
java.lang.IllegalStateException: XSRF: A mutative operation was attempted on DefaultChain within a non-mutative HTTP request: https://bamboo.example/chain/admin/config/editChainMiscellaneous.action?buildKey=PDT-PJHM
It's not allowed to call mutative operations on GET requests (e.g., savePlanAndDefinition) when XSRF Protection is enabled.
Is there a way to fix the bug that this code was intended to fix without mutating on a GET request?
After upgrade from version 5.14.5 to version 5.15.7 plugin doesn't work
I've tried re-install it from market / manual, restart bamboo, enable / disable plugin
Hi, I appreciate your plugin.
I was wondering if I can change the message that appears during various phases like pending, success, failure. Currently it always says "default." The link takes me to correct bamboo job, but if possible, I'd like to also display the bamboo build number on the message (I think it is the description parameter on Github api).
Each Bamboo stage should have a corresponding context.
Reproduction: Create a plan, go to miscellaneous tab, uncheck the default selected repo, and save. When the page reloads, the default selection will reappear. If the plan is saved with at least one checked repo, then subsequently unselecting all repos will work.
Currently the description is always empty. It would be nice if a short summary could be provided, e.g. "980/1000 Tests succeeded"/"1000 Tests run, 0 skipped, 20 failed" if there were tests and "Build finished." for builds without tests.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.