Giter Site home page Giter Site logo

bamboo-github-status's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

bamboo-github-status's Issues

Support for Github Enterprise

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.

Support multiple repos

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.

Is this somehow useable with Bamboo Cloud?

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!

"Unknown RepositoryDefinition"

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?

New Release that supports Bamboo 5.15.3 ?

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 ?

Support for Github Enterprise

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?

"null" from c.m.b.Configuration when using Repository Stored Specs

Summary

When running Repository Stored Specs from GitHub, the Bamboo Plan cannot be created because of a null that is passed from Configuration.java

Steps to reproduce

  1. Upgrade to Bamboo 6.5 or above
  2. Ensure the latest version of the bamboo-github-status plugin is installed
  3. Link a GitHub repository to Bamboo
  4. Create a simple Repository Stored Specs using YAML
  5. Commit a change to your Specs
  6. Look at the Specs Status

Expected Behavior

Bamboo Specs runs successfully and the Plan is created

Actual Behavior

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.

Note + Disclaimer

This issue was reported via Atlassian Support, and I am the Support Engineer for Bamboo on the ticket

Plugin Breaks with Bamboo 5.15.0.1

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)

Plugin doesn't seem to work

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 ? :-)

Adding default values fails when "XSRF Protection" is enabled

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?

Bamboo 5.15.7 plugin doesn't work

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

Is there a way to customize the message that appears on the status?

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).

image

image

Can't unselect all repos without first saving the configuration

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.

Show description in the commit status

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.