Restrict Attachment Type

Hi
I want restrict attachment type in creating issue(when creating issue must be attach ONLY excel File in "creat issue screen").I writed this script, but there are error in it.
How can I fix the problem?
Can this code be a solution??

attachmentManager.getAttachments(issue).each
{(it.getfilename.endsWith(".xlsx"))}

Thanks

Marzi

 

3 answers

0 votes

Hello,

What is the error?

It shoud be like that

attachmentManager.getAttachments(issue).each
{(it.getFilename().endsWith(".xlsx"))}

 

 

Thanks @Alexey Matveev [cPrime]

Code error resolved, But any File(even excel file with xlsx Suffix) attach in Create screen , Displays an Error Message in create issue and issue dont create.

How do Resolve it?

ٍErroe message is in script validator screen.

2.PNG

What validator do you use? 

The problem is that a validator must return true or false. Your validator returns null. And your validator never works. You should do something like this

def flag = true

attachmentManager.getAttachments(issue).each
{ if (!it.getFilename().endsWith(".xlsx")) {
  flag = false;
}
}
return flag

I did not check the code. But I think you have the idea. Or maybe the code will work, who knows :)

I run this code but the error message is still displayed and issue is not created.

Ok.

You can not use attachmentManager.getAttachments(issue) to get the newly added files to the issue. This method get attachements from already existing issues that is why if you look in your logs you will see NPE.

If you want to get newly added files then follow this guide

https://scriptrunner.adaptavist.com/5.2.4/jira/recipes/workflow/validators/validate-attachments-links-in-transition.html#_validating_attachments_added_this_transition

But I could not make it work on the create issue transition.

Hi @Alexey Matveev [cPrime]

The error message is still displayed
I do not know what to do?

When I use script examples in validators،They also do not work correctly ,

55.PNG

I gave you a link on how it should work. As I said in my previous post I was not able to make it work on the Create screen within 20 mins. Maybe it is not supposed to work for the Create screen. I would like to help you but unfortunately I do not have time right now. I would advise you to ask Adaptivist ScriptRunner support why the article does not work for you.

You should ask Adaptivist ScriptRunner support not Atlassian. If you find out what was the problem kindly provide your answer here. I would like to know the answer as well.

Good luck! :)

Simple scripted validator

Hey does ur code worked out..I need it for my project where I need only PDF files so

0 votes

Okay I just got a notification from this and thought I would step in to get some concepts out of the way.

If I'm not mistaken, at the create stage, the issue is not yet created.a

If the issue is not created, you cannot check for attachments.

This is quite a limitation that I've seen a few clients run into.

There are a few workarounds:

1. Inject a custom Javascript validator into the screen that does this for you. Which is hard in my opinion.

2. Create an intermediate stage in your workflow as follows.

If your workflow works like this ->A->B->C for example. A is your creation stage.

If you want to make sure that it only has attachments that end with the proper excel format. Instead of adding the validator in the first arrow(that symbolises the create stage) add the validator to the second arrow, that allows people to work on it. So if people want to start working on an issue, they need to make sure it has a proper attachment.

Is this clear? May I help you further?

Cheers!

Dyelamos

Hello thanks for the answer.

My requirement is like 

I will be able to have only PDF file in the attachment from the creation stage .

While creating a issue you can only attach PDF file .

If you read my answer. This is impossible while using a validator. It will simply not work, because the issue isn't created until the "onCreate" transition is finished and committed to the database.

You will need to inject some short of JS script via Script Fragments in order to make this work. This is not simple at all.

Cheers!

DYelamos

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Dec 10, 2018 in Confluence

Organizing your space just got easier - Page Tree Drag & Drop is here

Hi Community! I’m Elaine, Confluence Product Manager. You may have read my earlier post about page tree in space navigation sidebar. I'm excited to share another improvement that helps you organize ...

206 views 6 7
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