How to fail a build because there are no artifacts?

In Bamboo (5.7.2) one can have multiple artifact definitions for a given build plan. Am I missing something, or it does not seem possible to configure for each artifact definition how many artifacts it must produce, otherwise build should fail. Now it seems that one can have many artifact definitions but all are allowed not to produce any artifacts, and build will just happily pass and output "There have been no artifacts set up for this job." even though definitions are there.

2 answers

1 accepted

This widget could not be displayed.

The build will only fail if Bamboo detects that there are jobs with artifact subscriptions for that artifact. You could set up a job depending on all these artifacts. Make it run on a local agent to make it faster.

It's a workaround, yes, thanks. Already applied similar workaround, created a stage in same build, after artifact producing stage, to download and verify that artifacts are there. But that's stupid. I should be able to at least control those constraints from artifact definition, choose whether it's ok for no artifacts to come out of artifact definition or not. Created a bug report https://jira.atlassian.com/browse/BAM-15872

That behaviour is by design, it's not a bug.

Please give me an example, where that behavior is useful, that same artifact definition in same build plan sometimes produces and sometimes not artifacts, and that you'd like/expect build to pass in both cases. Please share link(s) if this behaviour of artifact definition is documented somewhere. I only see one hint of this behavior on build definition create/edit popup page, it has this note "If you subscribe to an unavailable shared artifact the build will fail.". What if artifact is not shared? Do you think this behaviour adheres to principle of least astonishment? In other words, would you expect this behaviour as Bamboo user?

I completely agree with @Stevo Slavic.  This designed behavior makes no sense.  Please explain the logic behind the design of this behavior.

This widget could not be displayed.

I agree with Stevo on this one. I have a build and then I can't create an artifact because the necessary artifact subdirectory does not exist. Why do I want that to be successful? It violates your whole premise of Fail Fast because, now, some downstream build is going to fail not the original one.

You even highlight the error in red in the log file - so I don't think even you guys think it's successful.

Maybe there are  times when artifact creation should not be a failure, but it should be simple enough to add a boolean for this in the artifact definition.

Suggest an answer

Log in or Sign up to answer
Atlassian Summit 2018

Meet the community IRL

Atlassian Summit is an excellent opportunity for in-person support, training, and networking.

Learn more
Community showcase
Posted yesterday in New to Jira

Are you planning to trial, or are currently trialling Jira Software? - We want to talk to you!

Hello! I'm Rayen, a product manager at Atlassian. My team and I are working hard to improve the trial experience for Jira Software Cloud. We are interested in   talking to 20 people planning t...

54 views 1 0
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you